一、自定义信号与槽
当某些条件触发时,想自动执行一些代码,这种情况就需要用到自定义信号和槽。
1、信号和槽必须是类的成员
2、自定义信号和槽的类必须继承QObject,由于QObject是所有类的源头,它们都继承了QObject,所以继承任何一个Qt中的类即可
3、在类的开头位置写 Q_Object 不需要分号
注意:此标识符必须在项目构建之前写,如果是后加入的编译时可能出现槽函数、信号找不到
解决方法:删除项目中所有自动生成的文件,然后再使用
qmake -project
qmake
make
4、信号定义在 signals:关键字下面,信号的格式相当于函数声明
5、使用 emit 命令发送信号,并且可以在发送信号时传递参数给槽函数
6、槽函数定义在 private|protected|public slots:关键词下面,可以先声明后定义,也可以直接在头文件中定义7、一个信号可以连接多个槽函数,当该信号发射时会同时触发多个槽函数
8、多个信号可以连接一个槽函数,只要其中一个信号发射就会触发槽函数
二、事件
事件是基于类多态实现的,Qt中的控件类中有一些什么都不做的虚函数,当事件发生时,会自动调用这些虚函数。
这些会被自动调用的虚函数,被称为事件函数,触发这些虚函数的行为或操作称为事件
常用事件:
// 鼠标按下事件
void mousePressEvent(QMous