1. 程式人生 > 其它 >QT 訊息處理-訊號與槽

QT 訊息處理-訊號與槽

Qt訊號與槽

Qt中的訊息處理機制

-訊號(Signal):由作業系統產生的訊息

-槽(Slot) :程式中的訊息處理函式

-連線(Connect) :將系統訊息繫結到訊息處理函式

-訊號到槽的連線必須發生在兩個Qt類物件之間!

QT新關鍵字

SIGNAL-指定訊息名

SLOT-指定訊息處理函式名

Q_OBJECT-訊號與曹機制中必須加上

slots-用於在類中宣告訊息處理函式

#include <QtGui/QApplication>
#include <QPushButton>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QPushButton b;
//成為頂層視窗 b.setText("Click me to quit!"); b.show(); QObject::connect(&b,SIGNAL(clicked()),&a,SLOT(quit())); //將按鈕物件的點選訊息對映到a物件的quit函式 return a.exec(); }

解決經典問題: Object::connect: No such slot… 、

1. 檢查類是否繼承於QObject

2. 檢查類宣告的開始處是否新增Q_OB丿ECT

3. 檢查是否使用slots關鍵字進行槽宣告

4. 檢查槽的名稱是否拼寫錯誤

5. 重新執行qmake