文章目录
- 信号与槽的理解
信号与槽的理解
- 信号就是事件,比如button被点击的事件,ComboBox选项改变的事件,都是信号
- 槽就是对信号进行响应的函数,可以是任意自定义函数
- 一个信号可以对应多个槽
- 多个信号可以对应一个槽
- 信号的参数不能少于槽的参数,一般一一对应
- 在使用信号与槽的类中,必须在类的定义中加入宏 Q_OBJECT
- 信号与槽通过QObject::connect这一静态函数进行连接,如:
/* * sender: 发射信号的对象名 * SIGNAL: Qt宏,用于指明信号和槽 * SLOT: Qt宏,用于指明信号和槽 * receiver: 接收信号的对象名 * signal(): 信号,一般是某个事件 * slot(): 槽,一般是系统或自定义响应函数 */ // Qt4 QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));// Qt5
QObject::connect(sender, &Send::signal, receiver, &Receiver::slot)