//helloworld.cpp
#include <QApplication>
#include <QPushButton>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QPushButton btn("hello world!");
btn.show();
QObject::connect(&btn,SINGAL(clicked()),&app,SLOT(quit()));
return app.exec();
}
Qt程序編譯運行很簡單,利用Qt提供的qmake工具可以很好的進行編譯,在命令行輸入一下編譯過程:
qmake -project //聲稱項目文件(*.pro)
qmake //生成Makefile文件
make //生成可執行文件
./helloworld //執行程序
執行程序的結果為:
顯示一個窗口,窗口中有一個hellosworld標簽。點擊helloworld標簽后將退出程序.
下面就來仔細講一下這個程序:
第一行,所有的Qt圖形應用程序都必須包含此文件。它包含了Qt圖形化應用程序的各種資源、基本設置、控制流、以及事件處理等。
第二行包含了程序中的按鈕控件的頭文件
第三行為應用程序的入口,所有Qt程序都必須有一個main()函數,以argc和argv作為入口參數
第四行創建了一個QApplication對象,每個程序都必須有且只有一個QApplication對象、采用
argc和argv作為參數、以便對命令行參數進行處理
第五行創建了一個QPushButton對象並且設置它的文本為”hello world”,由於此處沒有指定按鈕的父
窗體,因此以自己作為主窗口
第六行調用控件對象的show()方法來顯示此按鈕。控件被創建時默認是不顯示的,因此調用show()函數來
進行顯示。
第七行QObject::connect()方法是Qt的重要特征。即信號和槽機制。當按鈕被按下則觸發clicked()信號的發射,與之相連的QApplication對象的quit()響應按鈕信號,執行退出操作。
第八行調用QApplication的exec()方法,程序進入消息循環,等待可能輸入進行相應。Qt完成事件處
理及顯示的工作,並在應用程序退出是返回exec()的值。