我有擁有(擁有指針並初始化)對象Y1..10Qt的:關於式信號/插槽
對象X具有從時時改變的狀態的對象x。 我想讓子對象(Y1..10)知道狀態。
通常情況下,通過從每個Y子對象獲得一個指向父X的指針,以便它可以通過方法調用查詢其狀態,但我不希望Y對象知道對象X ,只是它的地位。
我想知道,這可與信號/插槽來實現:
在Y對象將定義一個信號,諸如:
void GetStatus(TheStatus & status);
的X對象將這種連接的狹槽,並且當Y對象發出的對象X會將狀態寫入給定的狀態引用,以便Y對象獲取它。
這樣我可以有狀態更新可用於Y對象,但他們不需要知道對象X來實現這一點。
您認爲如何?
我用doBlah()爲響應就像一個按鈕的事件接收器按和updateBlah()更新gui的一些部分 –
@MartinBeckett進度條有'setValue()',但我不知道這是否比'updateValue()'更好或更差。 「set」對於更新GUI元素的函數可能聽起來有點輕量級,但我可以通過兩種方式看到它。在任何情況下,它都比'onValueChanged()'更好 - 這聽起來像一個信號的名稱,就像一個插槽一樣。 – HostileFork
這並不重要,你叫他們。你只需要有一些約定來保持信號/插槽的功能,因爲編譯器沒有執行任何操作。 –