深入信号和槽(Signals and Slots in Depth)
生活随笔
收集整理的這篇文章主要介紹了
深入信号和槽(Signals and Slots in Depth)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、一個信號可以連接到多個槽:connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));connect(slider, SIGNAL(valueChanged(int)),this,SLOT(updateStatusBarIndicator(int)));當信號發出后,槽函數都會被調用,但是調用的順序是隨機的,不確定的。2、多個信號可以連接到一個槽connect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));connect(calculator, SIGNAL(divisionByZero()),this, SLOT(handleMathError()));任何一個信號發出,槽函數都會執行。3、一個信號可以和另一個信號相連connect(lineEdit, SIGNAL(textChanged(const QString &)),this, SIGNAL(updateRecord(const QString &)));第一個信號發出后,第二個信號也同時發送。除此之外,信號與信號連接上和信號和槽連接相同。4、連接可以被刪除disconnect(lcd, SIGNAL(overflow()),this, SLOT(handleMathError()));這個函數很少使用,一個對象刪除后,Qt 自動刪除這個對象的所有連接。信號和槽函數必須有著相同的參數類型,這樣信號和槽函數才能成功連接:connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),this,SLOT(processReply(int, const QString &)));如果信號里的參數個數多于槽函數的參數,多余的參數被忽略:connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),this,SLOT(checkErrorCode(int)));如果參速類型不匹配,或者信號和槽不存在,在debug 狀態時,Qt 會在運行期間給出警告。如果信號和槽連接時包含了參數的名字,Qt 將會給出警告。
轉載于:https://www.cnblogs.com/sdywcd_coffee/archive/2010/01/27/1657828.html
總結
以上是生活随笔為你收集整理的深入信号和槽(Signals and Slots in Depth)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡分期手续费怎么算?哪家银行最划算?
- 下一篇: 第一次办招行信用卡额度是多少?有些细节需