Thursday, September 17, 2009

自學qt ex1 hello world!

對於未來可能的需要,所以我必須自學QT,接下來的qt都是給自己看的。

 

#include <QApplication>

#include <QPushButton>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QPushButton b("Hello World!");

b.show();

QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));

return app.exec();

}

這是一個很簡單的例子,執行就像是
 
整個對話框只有一個按鈕。

第一行QApplication,所有QT的應用程式都必須包含這個,這包含了各種資源、基本設置、控制流及事件處理等,若是的非圖形化應用程式,則必須包含QCoreApplication

第二行的QPushButton則是包含了這個程式所需要按鈕控制件的header

第三行略

第四行,建立一個QApplication對象,每個QT程式都必須有,且只有一個QApplication對象,採用argc’ argv 作為參數,以便程式處理命令行的參數。

第五行、建立一個QPushButton對象,並設定他顯示Hello World!由於於此處並沒有指定按鈕的父窗體,因此以自己作為主窗口。

第六行、調用show()的這個方法,顯示按鈕。當控制原件被建立的時候,預設是不顯示的,必須調用show()來顯示他。

第七行、也是最重要的一行,QObject::connect()方法是QT最重要的特徵,即訊號與槽的機制。當按鈕被按下則觸發clicked()信號發射,與之相連接的QApplication對象的槽quit()響應了按鈕信號。執行退出程式的操作。

最後調用QApplication的exec()方法,程式開始進入訊息循環,等待可能的輸入進行響應。QT完成事件處理及顯示的工作,並在應用程式退出的時候返回exec()的值。

No comments: