//tsignal.h ... class TsignalApp:public QMainWindow { Q_OBJECT ... // 信號(hào)聲明區(qū) signals: // 聲明信號(hào) mySignal() void mySignal(); // 聲明信號(hào) mySignal(int) void mySignal(int x); // 聲明信號(hào) mySignalParam(int,int) void mySignalParam(int x,int y); // 槽聲明區(qū) public slots: // 聲明槽函數(shù) mySlot() void mySlot(); // 聲明槽函數(shù) mySlot(int) void mySlot(int x); // 聲明槽函數(shù) mySignalParam (int,int) void mySignalParam(int x,int y); } ... //tsignal.cpp ... TsignalApp::TsignalApp() { ... // 將信號(hào) mySignal() 與槽 mySlot() 相關(guān)聯(lián) connect(this,SIGNAL(mySignal()),SLOT(mySlot())); // 將信號(hào) mySignal(int) 與槽 mySlot(int) 相關(guān)聯(lián) connect(this,SIGNAL(mySignal(int)),SLOT(mySlot(int))); // 將信號(hào) mySignalParam(int,int) 與槽 mySlotParam(int,int) 相關(guān)聯(lián) connect(this,SIGNAL(mySignalParam(int,int)),SLOT(mySlotParam(int,int))); } // 定義槽函數(shù) mySlot() void TsignalApp::mySlot() { QMessageBox::about(this,"Tsignal", "This is a signal/slot sample without parameter."); } // 定義槽函數(shù) mySlot(int) void TsignalApp::mySlot(int x) { QMessageBox::about(this,"Tsignal", "This is a signal/slot sample with one parameter."); } // 定義槽函數(shù) mySlotParam(int,int) void TsignalApp::mySlotParam(int x,int y) { char s[256]; sPRintf(s,"x:%d y:%d",x,y); QMessageBox::about(this,"Tsignal", s); } void TsignalApp::slotFileNew() { // 發(fā)射信號(hào) mySignal() emit mySignal(); // 發(fā)射信號(hào) mySignal(int) emit mySignal(5); // 發(fā)射信號(hào) mySignalParam(5,100) emit mySignalParam(5,100); }注意 connect() 里面的信號(hào)和槽 的函數(shù) 不寫(xiě)形參
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注