更新時間:2020年06月15日14時23分 來源:黑馬程序員 瀏覽次數(shù):
Qt中信號槽的優(yōu)勢有哪些?
答:
a. 類型的安全的, 體現(xiàn)在以下兩個方面:
- 信號和接收該信號的槽的參數(shù)類型要相同, 一一對應(yīng), 否則編譯器會報錯
- 槽的參數(shù)個數(shù)是可以少于或等于信號的參數(shù)個數(shù)的,但缺少的參數(shù)必須是信號參數(shù)的最后一個或幾個參數(shù)。
b. 發(fā)信號的對象和處理信號的對象耦合度低:
- 激發(fā)信號的對象:
- 無需知道是哪個對象的哪個槽需要接收它發(fā)出的信號
- 只需在適當(dāng)?shù)臅r間發(fā)送適當(dāng)?shù)男盘柧涂梢粤?/span>
- 不需要知道也不關(guān)心它的信號有沒有被接收到,更不需要知道是哪個對象的哪個槽收到了信號
- 處理信號的對象
- 對象的槽不知道是哪些信號關(guān)聯(lián)了自己
- 一旦對象的槽函數(shù)和信號進(jìn)行了關(guān)聯(lián),Qt就會保證適合的槽被調(diào)用
- 關(guān)聯(lián)槽函數(shù)的對象在運行時被刪除,應(yīng)用程序也不會崩潰。
c. 信號和槽機制增強了對象間通信的靈活性:
- 一個信號可以關(guān)聯(lián)多個槽
- 多個信號可以關(guān)聯(lián)一個槽。
推薦了解傳智播客C++培訓(xùn)課程。