天天看點

2、QT基礎——建立Qt項目

2.1  使用向導建立

打開Qt Creator 界面選擇 New Project或者選擇菜單欄 【檔案】-【建立檔案或項目】菜單項

2、QT基礎——建立Qt項目

彈出New Project對話框,選擇Qt Widgets Application,

2、QT基礎——建立Qt項目

選擇【Choose】按鈕,彈出如下對話框

2、QT基礎——建立Qt項目

設定項目名稱和路徑,按照向導進行下一步,

2、QT基礎——建立Qt項目

選擇編譯套件

2、QT基礎——建立Qt項目

向導會預設添加一個繼承自CMainWindow的類,可以在此修改類的名字和基類。預設的基類有QMainWindow、QWidget以及QDialog三個,我們可以選擇QWidget(類似于空視窗),這裡我們可以先建立一個不帶UI的界面,繼續下一步

2、QT基礎——建立Qt項目

系統會預設給我們添加main.cpp、mywidget.cpp、 mywidget.h和一個.pro項目檔案,點選完成,即可建立出一個Qt桌面程式。

    1. 手動建立

添加一個空項目

2、QT基礎——建立Qt項目

選擇【choose】進行下一步。設定項目名稱和路徑 —> 選擇編譯套件 --> 修改類資訊 --> 完成(步驟同上),生成一個空項目。在空項目中添加檔案:在項目名稱上單擊滑鼠右鍵彈出右鍵菜單,選擇【添加新檔案】

彈出建立檔案對話框

2、QT基礎——建立Qt項目

在此對話框中選擇要添加的類或者檔案,根據向導完成檔案的添加。

.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接受并處理使用者和系統的事件并且把它們傳遞給适當的視窗部件。

繼續閱讀