1. 程式人生 > >訊號與槽函式

訊號與槽函式

1、簡單介紹一下訊號和槽:大家可以把它們都看做是函式,比如這裡,當單擊了按鈕以後就會發射單擊訊號,即clicked();然後對話方塊接收到訊號就會執行相應的操作,即執行accept()槽。一般情況下,我們只需要修改槽函式即可,不過,這裡的accept()已經實現了預設的功能,它會將對話方塊關閉並返回QDialog::Accepted標識,所以無需再做更改。下面我們要使用返回的QDialog::Accepted標識來判斷是否按下了登入按鈕。

2、exec()函式和Accept()函式的關係。

 exec()函式。顯示對話方塊(模式對話方塊)

accept()已經實現了預設的功能,它會將對話方塊關閉並返回QDialog::Accepted標識

3、exec()是使事件進入迴圈的意思  

 int main(int argc,char *argv[])
    {
        QApplication a(argc,argv);
        QDialog w;
        w.show(); 
        return a.exec();
    }

這是一段QT的程式碼 
其中QApplication 是用來管理應用程式資源的一個類 
定義了一個物件a 
本來這個程式接收argc和argv引數的是main 
但是我們需要把控制權交給QT 
所以最後要把返回值傳遞給 a 
使程式進入事件迴圈 
也就是 
讓視窗接收使用者傳給視窗的引數 
比如滑鼠點選,滑鼠右擊……
---------------------