入门
-
#include<QApplication>
每一个使用Qt图形化应用程序中都必须使用一个QApplication对象,管理了各种各样的图形化应用程序的广泛资源,基本设置,控制流及事件处理等等 -
int main(argc,argv)
应用程序的入口,每一个项目有且仅有一个main函数,两个参数,第一个参数代表命令行变量的数量,第二个变量代表命令行变量数组 -
return a.exec();程序进入消息循环,等可能的输入进行响应,这里main函数把控制权交给Qt
-
class Dialog : public QDialog { Q_OBJECT //启动Qt5元对象系统的一些特性,如支持信号和槽,必须放在类定义的私有区 public: Dialog(QWidget *parent = nullptr); ~Dialog(); private: Ui::Dialog *ui; };
-
伙伴编辑模式
QLabel标签和伙伴窗口部件包括一个标签和一个窗口部件,他们具有伙伴关系,指当用户激活标签的快捷键的时候,鼠标或者键盘的焦点将会转移到他的伙伴窗口部件上,只有QLable标签对象才有伙伴窗口部件,也就只有在该QLable对象具有快捷键(在显示文本的某字符前加上一个前缀&就可以定义快捷键,如:&A->alt+A)
-
信号和槽机制
信号和槽机制是完成任意两个Qt对象之间的通信机制,一个类被继承的时候该类的信号和槽也会同时被继承
connect(Object1, SIGNAL(signall), Object2, SIGNAL(signall));
-
信号可以连接信号,信号可以连接槽,多个信号可以连接一个槽
-
信号和槽机制的优点:
- 类型安全:需要关联的信号和槽签名必须是等同的,信号的参数类型和参数个数必须与接收该信号的槽的参数个数相同
- 松散耦合:信号和槽机制减弱lQt对象的耦合度,激发信号的Qt对象不需要知道哪个槽需要接收信号,它只需要做在适当的事件发送适当的信号就可以了
-
信号和槽的效率:通过传递一个信号调用槽函数比直接调用非虚函数调用函数慢十倍
-
Qt5元对象系统,Qt5元对象系统提供对象间的通信机制,信号和槽,运行时的类型信息和动态属性,时标准c++的一个扩展,他使Qt能够更好的实现GUI图形用户界面编程,Qt5元对象系统不支持c++模板,尽管该模板扩展了标准c++的功能,但是,元对象系统提供了模板无法提供的一些特性,任何使用元对象系统的类都必须继承自QObject,且在私有区声明Q_OBJECT宏