2.1 使用向導建立
打開Qt Creator 界面選擇 New Project或者選擇菜單欄 【檔案】-【建立檔案或項目】菜單項
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iNmVWZ2YzMjJTZ0YzM4EGO0QGZ0czMzMTOzMzY3kjYy8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
彈出New Project對話框,選擇Qt Widgets Application,
選擇【Choose】按鈕,彈出如下對話框
設定項目名稱和路徑,按照向導進行下一步,
選擇編譯套件
向導會預設添加一個繼承自CMainWindow的類,可以在此修改類的名字和基類。預設的基類有QMainWindow、QWidget以及QDialog三個,我們可以選擇QWidget(類似于空視窗),這裡我們可以先建立一個不帶UI的界面,繼續下一步
系統會預設給我們添加main.cpp、mywidget.cpp、 mywidget.h和一個.pro項目檔案,點選完成,即可建立出一個Qt桌面程式。
添加一個空項目
選擇【choose】進行下一步。設定項目名稱和路徑 —> 選擇編譯套件 --> 修改類資訊 --> 完成(步驟同上),生成一個空項目。在空項目中添加檔案:在項目名稱上單擊滑鼠右鍵彈出右鍵菜單,選擇【添加新檔案】
彈出建立檔案對話框
在此對話框中選擇要添加的類或者檔案,根據向導完成檔案的添加。
.pro檔案
在使用Qt向導生成的應用程式.pro檔案格式如下:
QT += core gui //包含的子產品
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget子產品
TARGET = QtFirst //應用程式名 生成的.exe程式名稱
TEMPLATE = app //模闆類型 應用程式模闆
SOURCES += main.cpp\ //源檔案
mywidget.cpp
HEADERS += mywidget.h //頭檔案
.pro就是工程檔案(project),它是qmake自動生成的用于生産makefile的配置檔案。.pro檔案的寫法如下:
注釋
從“#”開始,到這一行結束。
模闆變量告訴qmake為這個應用程式生成哪種makefile。下面是可供使用的選擇:TEMPLATE = app
app -建立一個應用程式的makefile。這是預設值,是以如果模闆沒有被指定,這個将被使用。
lib - 建立一個庫的makefile。
vcapp - 建立一個應用程式的VisualStudio項目檔案。
vclib - 建立一個庫的VisualStudio項目檔案。
subdirs -這是一個特殊的模闆,它可以建立一個能夠進入特定目錄并且為一個項目檔案生成makefile并且為它調用make的makefile。
#指定生成的應用程式名:
TARGET = QtDemo
#工程中包含的頭檔案
HEADERS += include/painter.h
#工程中包含的.ui設計檔案
FORMS += forms/painter.ui
#工程中包含的源檔案
SOURCES += sources/main.cpp sources
#工程中包含的資源檔案
RESOURCES += qrc/painter.qrc
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
這條語句的含義是,如果QT_MAJOR_VERSION大于4(也就是目前使用的Qt5及更高版本)需要增加widgets子產品。如果項目僅需支援Qt5,也可以直接添加“QT += widgets”一句。不過為了保持代碼相容,最好還是按照QtCreator生成的語句編寫。
#配置資訊
CONFIG用來告訴qmake關于應用程式的配置資訊。
CONFIG += c++11 //使用c++11的特性
在這裡使用“+=”,是因為我們添加我們的配置選項到任何一個已經存在中。這樣做比使用“=”那樣替換已經指定的所有選項更安全。
一個最簡單的Qt應用程式
main入口函數中
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
解釋:
Qt系統提供的标準類名聲明頭檔案沒有.h字尾
Qt一個類對應一個頭檔案,類名就是頭檔案名
QApplication應用程式類
管理圖形使用者界面應用程式的控制流和主要設定。
是Qt的整個背景管理的命脈它包含主事件循環,在其中來自視窗系統和其它資源的所有事件處理和排程。它也處理應用程式的初始化和結束,并且提供對話管理。
對于任何一個使用Qt的圖形使用者界面應用程式,都正好存在一個QApplication 對象,而不論這個應用程式在同一時間内是不是有0、1、2或更多個視窗。
a.exec()
程式進入消息循環,等待對使用者輸入進行響應。這裡main()把控制權轉交給Qt,Qt完成事件處理工作,當應用程式退出的時候exec()的值就會傳回。在exec()中,Qt接受并處理使用者和系統的事件并且把它們傳遞給适當的視窗部件。