QT新建一個窗口控制程序,以實現添加按鈕點擊彈出信息提示框為例


  最近在學習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.運行結果

   

 

   

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM