QT新建一个窗口控制程序,以实现添加按钮点击弹出信息提示框为例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

相关文档
最新文档