0

我在同一个对象中有很多信号,我想将它们连接到一个插槽,同时在连接时传递一个 const。具体来说,我想做这样的事情:

connect (obj, SIGNAL(sig()), obj2, SLOT(sl(1))) ;
connect (obj, SIGNAL(sig()), obj2, SLOT(sl(2))) ;
connect (obj, SIGNAL(sig()), obj2, SLOT(sl(3))) ;
connect (obj, SIGNAL(sig()), obj2, SLOT(sl(4))) ;

有什么办法可以做到这一点吗?由于所有信号都来自同一个对象,我不能使用 QSignalMapper。有什么建议/解决方法吗?

4

2 回答 2

1

为每个连接使用单独的 QSignalMapper。效率不是很高,但应该可以。

于 2012-07-31T14:00:14.553 回答
0

你也可以试试

connect (obj, SIGNAL(sig(int)), obj2, SLOT(sl(int))) ;

因为在使用信号和插槽时,两者都应该具有相同的参数。所以我们可以发出任何具有任何值的信号。信号发出的值会自动传递给插槽。

于 2012-08-01T00:06:47.843 回答