1.快捷健
在代码编辑器中
ctrl+z 撤销
ctrl+shift+z 反撤销
在ui designer中
F3 视图编辑器
F4 信号与槽编辑器
ctrl+H 水平布局
ctrl+L 垂直布局
alt+shift+r 预览界面
ctrl+r 运行
待更新。。。。。。
2.一些不常见的理念
- 创建一个窗口,FindDialog(QWidget *parent = 0);构造函数是Qt控件类的标准格式,默认的父参数为NULL,说明没有父控件。
- 通过setDefault(true)让该按钮成为对话框的默认按钮,就是说当你按下一个回车键,这个默认按钮就是会有反应的那一个。
- 在信号与槽中,connect(sender,SIGNAL(signal()),receiver,SLOT(slot())); sender和receiver是Object对象指针,signal和slot是不带参数的函数类型,SiGNAL()和SLOT()是不带参数的函数原型,SIGNAL()和SLOT()宏的作用是把他们转换成字符串。信号和槽可以是一对一,一对多,多对一的关系,一个信号还可以和另一个信号相连,第一个信号发出后,第二个信号也同时发送,除此之外,信号与信号的连接上和信号与槽的连接相同。信号还可以被删除,很少使用。信号与槽函数必须有着相同的参数类型,这样信号和槽函数才能成功连接
- 在main.cpp里纯手写GUI代码,使用connect函数时,需要通过Object的类作用域符::来修饰。例如:Object::connect(sender,SIGNAL(signal),receiver,SLOT(slot));但是继承Dialog、MainWindow、Widget窗口的类的构造函数中使用的时候不需要如此,因为他们的最基类是Object类。
- 关于emit宏,发射的是信号,首先需要用connect函数将信号与槽连接起来,然后在需要的时候将这个信号发出,就会自动调用槽函数了,例如,emit(signal(int)),注意信号函数与槽函数的参数应该是一样的,这样才能将该信号参数传递给槽函数以用来调用。
- Qt designer中的编辑模式有四种:Edit Widgets,Edit Signals/Slots,Edit Buddies,Edit Tab Order。
- QDialog中的accept函数与reject函数,这两个槽函数都关闭这个对话框,但是accept()返回QDialog::Accepted(值为1),reject()返回值为QDialog::Rejected(值为0)。不同的返回值可以判断用户点击的哪个按钮。