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.运行结果

   

   

   

原文地址:https://www.cnblogs.com/xingboy/p/14376226.html