摘要:
首先思考以下几个问题: 1.什么是运算符重载? 2.为什么要重载运算符,它有什么用? 3.可以重载哪些运算符? 4.重载运算符有哪些规则? 一、基本概念 我们在程序中使用各种操作符,比如加(+)、赋值(=)等等。运算符重载可以重新赋予操作符的含义,举个栗子,对于加号操作符,一般都是将两个数进行相加, 阅读全文
摘要:
一、元对象 元对象(meta object)意思是描述另一个对象结构的对象,比如获得一个对象有多少成员函数,有哪些属性。在Qt中,我们将要用到的是QMetaObject这个类。 元对象系统基于以下3点: 以QObject作为基类 类声明的私有区域中,Q_Object宏指令使我们能够使用元对象的特性, 阅读全文
摘要:
1.消息对话框是什么 消息对话框(MessageBox)提供了一个模态对话框,用来通知用户某些信息,或者用来询问用户一个问题并获得一个答复。 先看下面2张图—— 第一张图是网易云音乐的界面截图,在删除歌单时,防止用户误操作,弹出了一个提示,提醒用户确认删除歌单; 第二张图是Photoshop中,用户 阅读全文
摘要:
Qt中已经有一些封装好的对话框,比如QMessageBox、QColorDialog等,使用起来快捷方便,但缺点是我们无法为它们自定义样式,所以可能难以“融入”我们的项目。既然如此,那就自己做一个把。抱着这样的想法,我设计了一个颜色编辑选取对话框。 设计界面时,我参考了photoshop的拾色器、w 阅读全文
摘要:
一、动态库是什么 很多人写程序的人都见过.lib和.dll文件,对动态库也略有耳闻。 生成动态库后可以得到两个文件,后缀名分别是.lib以及.dll。 简而言之,.lib称为导入库,相当于头文件;.dll是动态库文件,相当于cpp,头文件中函数的具体实现。 二、为什么使用动态库 使用动态库的优点很多 阅读全文
摘要:
Experience 最近在封装一些类的时候,打算做一个窗口框架,能实现拖动、缩放、最大最小化、基本样式等功能,可不慎遇见一件无比蛋疼的事情,QWidget最小化后再恢复正常界面,最小化按钮居然仍处于hover状态,而且其它所有控件都看不到hover时的样式。 之前在外面百度找遍了没找到解决办法,周 阅读全文
摘要:
优秀的程序,不仅要有严密逻辑,而且应该有美观的外表。从软件界面,便可看出你是否用心在做,是否是一个有思想的人。 Qt样式表的术语和语法规则和HTML CSS有很多相似之处。 样式规则 Qt中样式规则由“选择器”和“声明”构成。选择器决定了该规则影响的是哪个Widget;声明决定了该规则把哪些属性设置 阅读全文
摘要:
QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数,输入和编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变QLineEdit的 echoMode() ,可以设置其属性,比如以密码的形式输入。 文本的长度可以由 maxLength() 限制,可以通过使用 validato 阅读全文
摘要:
从Qt5.0开始,Qt提供了两种不同的方式进行信号槽的连接:基于 字符串 的连接语法、基于 函数 的连接语法。这两种语法各有利弊,下面对它们的不同点进行总结。 以下几部分详细解释了它们之间的不同,并说明如何使用它们,以及各自的优点。 一、类型检查以及隐式类型转换 基于字符串的连接是在运行时通过字符串 阅读全文
摘要:
一、Qt中的树 平时我们经常使用树的结构来组织和展示数据,比如文件系统等—— 在Qt中,我们可以使用Qt提供的便捷的QTreeWidget类,利用该类的接口,轻松地将已有数据显示在树中。 除此之外,还可以使用QTreeView,设置它的数据模型,比如QStandardItemModel,我们可以根据 阅读全文