我在同一个对象中有很多信号,我希望在连接时传递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。 有任何建议/解决方法吗?
答案 0 :(得分:1)
为每个连接使用单独的QSignalMapper。效率不高,但应该有效。
答案 1 :(得分:0)
您也可以尝试
connect (obj, SIGNAL(sig(int)), obj2, SLOT(sl(int))) ;
因为使用信号&插槽,两者都应具有相同的参数。所以我们可以发出任何值的任何信号。信号发出的值自动传递到插槽。