qt一个信号触发多个槽函数
时间: 2023-07-13 16:08:52 浏览: 269
Qt 多个按钮信号响应相同槽函数.docx
在Qt中,一个信号可以触发多个槽函数。可以通过connect函数将一个信号连接到多个槽函数上。例如:
```cpp
connect(sender, SIGNAL(mySignal()), receiver1, SLOT(mySlot()));
connect(sender, SIGNAL(mySignal()), receiver2, SLOT(mySlot()));
```
这样,当sender对象发出mySignal信号时,receiver1和receiver2对象的mySlot槽函数都会被调用。
当然,也可以使用lambda表达式来连接信号和槽函数,例如:
```cpp
connect(sender, &Sender::mySignal, [=](){
receiver1->mySlot();
receiver2->mySlot();
});
```
这样,当sender对象发出mySignal信号时,lambda表达式中的代码会被执行,从而调用receiver1和receiver2对象的mySlot槽函数。
阅读全文