2014-03-19 79 views
2

我有一個簡單的問題傢伙,閱讀關於connecting signals with slots with fewer arguments的線程,當然還有Qt文檔。Qt連接不同參數的信號

但是,我不需要將信號連接到插槽。我實際上希望用更少的參數連接具有信號的信號。

該文檔對插槽非常清楚,但信號又如何?

這是否認爲安全?

感謝&乾杯!

+0

你試試?我認爲它應該工作:'連接(信號(foo(int,int)),信號(goo(int)));' – vahancho

+0

是的,它的工作原理,我試過了。但是,如果您在獨立線程中的小部件上設置圖標,它也可以工作,但不能保證始終有效。我正在尋找官方文檔... – senseiwa

回答

6

沒有區別。接收信號可以具有比發射信號更短的特徵。因爲它可以忽略額外的參數。您可以連接等的信號:

signal(int, int, int) 

與下列簽名信號:

signal1(int, int, int) 
signal2(int, int) 
signal3(int) 
signal4() 
+0

謝謝!我想知道爲什麼文檔只提到插槽。你覺得他們只是忘了提到信號嗎? – senseiwa

+1

文檔告訴我們連接沒有區別。您可以按照與插槽信號相同的方式將信號連接到信號。 –