自定义信号需要遵循的规则
- 信号是类的成员函数,并且返回类型必须是 void 类型
- 信号函数只需要声明, 不需要定义(没有函数体实现)
- 参数可以随意指定, 信号也支持重载
- 信号需要使用 signals 关键字进行声明, 使用方法类似于public等关键字
- 在程序中发送自定义信号: 发送信号的本质就是调用信号函数
创建信号:
signals:
void mysignals();
信号发送
emit mysignals(); //发送信号
创建槽函数
private slots:
void addvalue();
信号绑定
完成连接connect的过程包括以下内容:
- 信号的发送(信号发出者)
- 信号发送的具体内容(发出的信号)
- 信号的接受(信号接收者)
- 信号的处理(信号槽函数)
信号槽的优点: 松散耦合
信号的发送方和接受方本身没有关联(发送端的信号不一定触发接收端处理,接收端也不一定要接收信号后才完成操作),只是通过连接connect将两端耦合在一起。
connect(this,SIGNAL(mysignals()),this,