91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT學習小結之信號與槽

發布時間:2020-07-23 11:10:29 來源:網絡 閱讀:437 作者:zgz_ 欄目:編程語言

信號與槽函數是我們學習QT必備的基礎知識,今天跟大家分享我學習QT的一些總結吧。

信號槽機制是Qt編程的基礎。通過信號槽,能夠使Qt各組件在不知道對方的情形下能夠相互通訊。

槽函數和普通的C++成員函數沒有很大的區別。它們也可以使virtual的;可以被重寫;可以使public、protected或者private的;可以由其它的C++函數調用;參數可以是任何類型的。如果要說區別,那就是,槽函數可以和一個信號相連接,當這個信號發生時,它可以被自動調用。

信號與槽函數的連接我們可以用connect函數:

connect(sender,SIGNAL(signal()),receive,SLOT(slot()));

需要注意的幾點問題:

1、一個信號可以和多個槽相連(槽函數被調用的順序是隨機的)

connect(sender,SIGNAL(signal()),this,SLOT(slot_1()));connect(sender,SIGNAL(signal()),this,SLOT(slot_2()));

2、多個信號可以連接同一個槽函數

connect(sender,SIGNAL(signal_1()),this,SLOT(slot()));connect(sender,SIGNAL(signal_2()),this,SLOT(slot()));

3、一個信號可以連接另外一個信號

connect(sender,SIGNAL(signal_1()),this,SIGNAL(signal_2()));

4、信號與槽函數之間的連接可以被取消

disconnect(sender,SIGNAL(signal()),this,SLOT(slot()));

5、信號與槽函數的參數個數、類型以及出現順序必須一致,另外,當信號的參數個數多于槽函數時,信號多出的參數將會被忽略掉

connect(sender,SIGNAL(signal(int,const Qstring &)),this,SLOT(slot(int b,const Qstring &)));connect(sender,SIGNAL(signal(int,const  Qstring &)),this,SLOT(slot(int)));//此時const  Qstring &將會被忽略

6、宏定義不能用在signal和slot的參數中

7、函數指針不能作為信號與槽函數的參數,同時信號與槽函數也不能有缺省參數


8、友元聲明不能位于信號或槽函數聲明區內


9、信號與槽不能攜帶模板類參數


10、嵌套的類不能位于信號與槽函數區域內,也不能有信號或者槽函數


在使用信號與槽機制的時候,要注意避免陷入死循環,即在槽函數中再次發送所接收到的信號。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东安县| 宁陕县| 大姚县| 岫岩| 班玛县| 张掖市| 内江市| 都昌县| 昌吉市| 鸡西市| 道孚县| 嘉祥县| 泾阳县| 青铜峡市| 荆州市| 富蕴县| 沧州市| 沾化县| 江永县| 山东省| 涡阳县| 宜丰县| 兴化市| 饶河县| 澜沧| 华宁县| 资源县| 通州市| 瓦房店市| 宜兰县| 南川市| 阳东县| 太谷县| 崇礼县| 湖南省| 巨鹿县| 中山市| 安康市| 青冈县| 云安县| 庆城县|