如何将不同的信号连接到QT上的同一个插槽?

时间:2016-10-05 15:08:10

标签: qt4

我正在尝试将不同的信号连接到同一个插槽,如下所示:

connect(thread_notification,SIGNAL(signal1()),SIGNAL(signal2()),this,SLOT(slot()));

有可能吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。 您可以通过简单地为要发送到插槽的每个信号写一个连接语句来完成此操作,例如:

connect(thread_notification, SIGNAL(signal1()), this, SLOT(slot()));
connect(thread_notification, SIGNAL(signal2()), this, SLOT(slot()));
... 
connect(thread_notification, SIGNAL(signalN()), this, SLOT(slot()));

您可以遵循的另一种方式,特别是如果信号'发送者是数组,列表或通常是对象的容器,是使用QSignalMapper,但它取决于谁发送和发送什么信号。您可以在http://doc.qt.io/qt-4.8/qsignalmapper.html

找到一个表达式