2012-07-31 43 views
0

我在同一個對象中有很多信號,我想在連接時傳遞一個常量時將它們連接到一個插槽。具體而言,我想這樣做:當連接到插槽時傳遞常量值

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。 任何建議/解決方法?

回答

1

爲每個連接使用一個單獨的QSignalMapper。效率不高,但應該有效。

0

您也可以嘗試爲

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

使用信號&插槽時,因爲兩者都應該具有相同的參數。所以我們可以用任何值發射任何信號。信號發出的值自動傳遞給插槽。