最近在學習QT編程,為了后面把X86平台的項目移植在Linux平台上,這里簡單記錄一下,第一步的學習過程,建立新工程。
1.新建項目
“Application”,中間的列表框中列出了可以創建的應用程序的模板,各類應用程序如下:
- Qt Widgets Application,支持桌面平台的有圖形用戶界面(Graphic User Interface,GUI) 界面的應用程序。GUI 的設計完全基於 C++ 語言,采用 Qt 提供的一套 C++ 類庫。
- Qt Console Application,控制台應用程序,無 GUI 界面,一般用於學習 C/C++ 語言,只需要簡單的輸入輸出操作時可創建此類項目。
- Qt Quick Application,創建可部署的 Qt Quick 2 應用程序。Qt Quick 是 Qt 支持的一套 GUI 開發架構,其界面設計采用 QML 語言,程序架構采用 C++ 語言。利用 Qt Quick 可以設計非常炫的用戶界面,一般用於移動設備或嵌入式設備上無邊框的應用程序的設計。
- Qt Quick Controls 2 Application,創建基於 Qt Quick Controls 2 組件的可部署的 Qt Quick 2 應用程序。Qt Quick Controls 2 組件只有 Qt 5.7 及以后版本才有。
- Qt Canvas 3D Application,創建 Qt Canvas 3D QML 項目,也是基於 QML 語言的界面設計,支持 3D 畫布。
這里選擇 Qt Widgets Application 。
一路 Next 下去
一路 Next 下去,到 Kits 這里注意把編譯工具都勾上,后續編譯的時候,想編譯不同版本都可以。
2.編輯項目
項目新建完成就可以得到一個基礎項目工程,可以編輯了。
在項目名稱節點下面,分組管理着項目內的各種源文件,幾個文件及分組分別為以下幾項:
- Demo.pro 是項目管理文件,包括一些對項目的設置項。
- Headers 分組,該節點下是項目內的所有頭文件(.h),圖 5 中所示項目有一個頭文件 mainwindow.h,是主窗口類的頭文件。
- Sources 分組:該節點下是項目內的所有 C++源文件(.cpp),圖 5 中所示項目有兩個 C++ 源文件,mainwindow.cpp 是主窗口類的實現文件,與 mainwindow.h 文件對應。main.cpp 是主函數文件,也是應用程序的入口。
- Forms 分組:該節點下是項目內的所有界面文件(.ui)。圖 5 中所示項目有一個界面文件mainwindow.ui,是主窗口的界面文件。界面文件是文本文件,使用 XML 語言描述界面的組成。
雙擊文件目錄樹中的文件mainwindow.ui,出現如下圖所示的窗體設計界面。
拖動一個按鍵到界面,右擊轉到槽,即可跳到按鍵的邏輯代碼區,在里面編輯代碼,運行時,當你點擊它,就會執行相應的代碼。
在跳轉后添加下圖代碼
void MainWindow::on_pushButton_clicked() { //你編輯的程序 /* * QMessageBox::information(NULL, "Test","This's a Demo !",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); * information原型: StandardButton QMessageBox::information(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton) [static] 第一個參數是父控件指針 第二個參數是標題 第三個參數是內容 第四個參數是窗口里面要多少個按鈕(不填時默認為OK按鈕) 第五個參數指定按下鍵盤Enter時使用的按鈕。(不填時默認為NoButton,此時QMessageBox會自動選擇合適的默認值。) */ //會創建消息提示框后,我們怎么知道用戶點了什么呢,看如下小例子 QMessageBox:: StandardButton result= QMessageBox::information(NULL, "Title", "Content",QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes); switch (result) { case QMessageBox::Yes: QMessageBox::information(NULL, "YES","You click the yes !"); break; case QMessageBox::No: QMessageBox::information(NULL, "No","You click the no !"); break; default: break; } }
記得要在該文件中添加頭文件,不然會報錯
#include <QMessageBox> //添加信息提示框頭文件
然后根據需求選擇編譯器
3.編譯運行
4.運行結果