QT Creator应用程序开发——QT程序设计基本知识
目錄
- 一、Application模板介紹
- 二、選擇類信息
- 三、Qt Widgets Application項目示例
- (一).pro 項目管理文件
- (二).h 頭文件
- (三).cpp 源文件
- (四).ui 頁面文件
一、Application模板介紹
在新建文件或項目時,Application模板內有以下幾項:
1、Qt Widgets Application
Qt小部件應用程序,它支持桌面平臺有圖形用戶界面(GUI)的應用程序,該GUI設計基于C++語言,采用Qt提供的一套C++類庫;
2、Qt Console Application
Qt 控制臺應用程序,無GUI頁面,用于學習C/C++語言;
3、Qt Quick Application
Qt快速應用程序,是Qt支持的一套GUI開發架構,頁面設計采用QML語言,程序架構采用C++語言,它一般用于移動設備或嵌入式設備上無邊框的應用程序設計;
4、Qt Quick Controls 2 Application
基于Qt Quick Controls 2組件可部署的Qt Quick 2應用程序;
5、Qt Canvas 3D Application
Qt畫布3D應用程序,用于創建Qt Canvas 3D QML項目,基于QML語言的頁面設計,支持3D畫布。
二、選擇類信息
創建的窗口時,在基本類信息時,系統提供的基類有以下三種可以選擇:
1、QMainWindow
主窗口類,具有主菜單欄、工具欄和狀態欄,它類似于一般的應用程序的主窗口;
2、QWidget
為所有具有可視頁面類的基類,選擇QWidget創建的頁面對各種頁面組件都支持;
3、QDialog
對話框類,可建立一個基于對話框的頁面。
三、Qt Widgets Application項目示例
我們創建一個Qt Widgets Application項目后左側有個窗口,里面包含幾個目錄和文件,在QT中可以打開多個項目,但是只有一個活動項目,活動項目的名被粗體標黑,如下,這個項目的名稱為“2-24”:
1、2-24.pro
代表這是一個pro 項目管理文件,其中包括一些對項目的設置項;
2、Headers
.h 頭文件,該節點包含所有的C++頭文件,其中頭文件mainwindow.h是主窗口類的頭文件;
3、Sources
.cpp 源文件,該節點包含所有的C++源文件,其中main.cpp是主函數文件,是應用程序的入口,mainwindow.cpp是主窗口類的實現文件,與mainwindow.h頭文件相對應;
4、Forms
.ui 頁面文件,該節點包含所有的頁面文件,mainwindow.ui是主窗口的頁面文件,這些頁面文件是文本文件,通過XML語言描述頁面的組成。
當鼠標點擊pro、Headers、Sources文件時會顯示源代碼文件,如下:
或者可以點擊下面的打開文檔來打開相應的源代碼文件:
當點擊Form文件會顯示窗體設計頁面,如下:
(一).pro 項目管理文件
在QT中默認情況下,每個項目都含有一個與項目名稱同名的項目管理文件,且每個項目至少包含一個.pro文件,用于存儲與當前有關的配置信息,其中的信息告知編譯器如何編譯當前項目。
一個剛剛創建好的QT項目,其中的.pro文件并不是空的,而包含一些基本的配置信息,如下:
QT會自動修改該文件的內容,不過有時候也要手動修改,比如使用第三方庫時,需要手動在.pro文件中修改。
.pro配置文件中常見的配置項如下:
1、QT
每個QT GUI項目中,都默認包含Core和GUI兩個默認模塊,前者包含QT GUI頁面開發的核心模塊,后者提供用于開發GUI應用程序所必要的一些類。
配置信息由三部分組成,如下圖:
除了這兩個默認的core gui模塊之外,還有SQL(包含數據庫相關的類)、Widgets(構建頁面的所有控件類)、Multimedia(提供音頻、視頻等功能的類)等模塊,若要使用這些模塊,則需在.pro文件中進行修改,例如添加與數據庫相關的類,如下代碼:
2、greaterThan()
QT版本大于4以上都包含widgets模塊,如下代碼:
3、CONFIG
另外有的還包含C++標準,例如下面就表示使用的是C++11標準,如下代碼:
4、TARGET、TEMPLATE
TARGET用于指定程序運行后的可執行文件(.exe)的名稱,TEMPLATE指定如何運行當前程序,其默認值是app(表示是一個應用程序),通常還有lib(表示將當前程序編譯成庫文件),如下代碼,這里指定的可執行文件名稱為untitled1:
5、SORCES、HEADERS、FORMS
SORCES、HEADERS、FORMS分別指定項目中所包含的.cpp源文件、.h頭文件、.ui頁面文件,如下:
6、INCLUDEPATH
INCLUDEPATH用于指定.h頭文件的存儲路徑。
(二).h 頭文件
mainwindow.h為主窗口,由Q_OBJECT宏、構造函數、析構函數三部分組成,Q_OBJECT表示允許類中使用信號和槽的機制,代碼如下:
#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>//包含頭文件QMainWindow窗口類namespace Ui { class MainWindow; }class MainWindow : public QMainWindow//繼承語法 {Q_OBJECT//Q_OBJECT宏,是一個已經定義好的宏,\允許類中使用信號和槽的機制public:explicit MainWindow(QWidget *parent = 0);//帶參的構造函數,QWidget是所有組件的基類,\通過*parent指針可以為當前窗口指定其父窗口~MainWindow();//析構函數private:Ui::MainWindow *ui; };#endif // MAINWINDOW_H(三).cpp 源文件
.cpp源文件中包含main().cpp主函數,一個QT GUI應用程序的main()基本格式,如下:
#include "mainwindow.h" #include <QApplication>//包含一個應用程序類的頭文件 //main程序入口 int main(int argc, char *argv[])//argc命令行變量的數量,\ argv命令行變量的數組 {QApplication a(argc, argv);//a應用程序對象,在QT中\應用程序對象有且只有一個MainWindow w;//窗口對象w.show();//窗口對象默認不會顯示,必須要調用show方法顯示窗口return a.exec();//讓應用程序對象a進入消息循環 }另外還有一個從QMainWindow繼承的主窗口類,即mainwindow.cpp,該類的定義部分位于mainwindow.h頭文件中,實現部分位于mainwindow.cpp源文件,如下:
#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this); }MainWindow::~MainWindow() {delete ui; }(四).ui 頁面文件
點擊.ui頁面文件,即可跳到頁面設計,如下其中各框的用途如下:
總結
以上是生活随笔為你收集整理的QT Creator应用程序开发——QT程序设计基本知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据结构学习笔记——树和图
- 下一篇: QT Creator应用程序开发——信号