QT5自学教程 5.wps

上传人:qwe****56 文档编号:74643737 上传时间:2023-02-27 格式:WPS 页数:8 大小:271KB
返回 下载 相关 举报
QT5自学教程 5.wps_第1页
第1页 / 共8页
QT5自学教程 5.wps_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《QT5自学教程 5.wps》由会员分享,可在线阅读,更多相关《QT5自学教程 5.wps(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、QT5自学教程(自学教程(5)显示窗口显示窗口 在正式给出例子之前,我们首先要介绍几个重要的概念。这些概念还是蛮重要的,笔者愿与诸君一同进行回顾。1.Q:什么是什么是 mainwindow?A:mainwindow 也就是主窗口。简单的说主窗口就是进入程序后呈现全面功能的主要界面,其中包括了菜单,工具条,状态栏和其他一些元素。例如,进入 Qt 的界面就是一个主窗口。2.Q:什么是什么是 dialog?A:dialog 也就是对话框。在图形用户界面中,对话框是一种特殊的视窗,用来在用户界面中向用户显示信息,或者在需要的时候获得用户的响应。之所以称之为“对话框”是因为它们使计算机和用户之间构成了一

2、个对话或者是通知用户一些信息,或者是请求用户的输入,或者两者皆有。3.Q:Model 对话框和对话框和 Modeless 对话框是指什么?对话框是指什么?A:严格地讲,只存在一种对话框,但是却存在不同的显示方式。即 Model(模式或称模态)和 Modeless(非模式或称非模态)。非模态对话框指的是:这是一种非强制回应的对话框,用于向用户请求非必须资料。即可以不理会这种对话框或不向其提供任何信息而继续进行当前工作,所以窗口均可打开并处于活动状态或是获得焦点(人机交互热点)。一类无模式对话框表现为工具栏,比如设置用于文字颜色的设置。查找/替换对话框可算是无模式对话框,也可以设计为工具栏。模态对

3、话框指的是:这种对话框强制要求用户回应,否则用户不能再继续进行操作,直到与该对话框完成交互。这种对话框设计用于需要一些额外的信息,然后才可以继续进行的操作,或可能只想确认使用者想要进行一项具有潜在危险性的操作。有模式对话框一般被视为坏的设计方案,因为以一种用户不喜欢看到方式出现,或是被习惯不去注意对话框提示的用户忽略,导致无法避免危险操作。在了解了上面的一些概念之后我们将给出我们的例子,例子分为两个部分进行讲解。第一个部分中展示了创建一个主窗口并且在其中对部件进行布局的操作;第二部分则是窗口模态和非模态的展示。为了简洁起见,只会给出一份代码(其中实现了两部分的功能)。Part I建立主窗口以及

4、设置其中的部件建立主窗口以及设置其中的部件1、建立一个 gui 界面(应该大家已经熟练了吧):2、在主界面中建立一个菜单栏和对应的工具条:3、在主界面中放入一个plainTextEdit:4、在如下 mainwindow.cpp 的如下位置插入代码:5、运行结果为:Part II对话框的对话框的模态和非模态模态和非模态1、建立一个对话框类:2、对话框中放置 pushbutton 和 TextEdit:3、转到主窗口菜单栏 New Window 的槽:4、在槽中插入如下代码(并且在 mainwindow.h 中要建立对话框的指针):5、显示结果如下:(1)非模态显示(dialog-setModa

5、l(false)):(2)模态显示(dialog-setModal(ture)):给出完整程序(只给出需要填写代码和有注释部分,无改动的不给出):mainwindow.h 程序:cppview plaincopy#ifndef MAINWINDOW_H#define MAINWINDOW_H#include#includemydialog.h namespace Ui class MainWindow;class MainWindow:public QMainWindow Q_OBJECT public:explicit MainWindow(QWidget*parent=0);MainWin

6、dow();private slots:void on_actionNew_Window_triggered();private:Ui:MainWindow*ui;MyDialog*dialog;/添加私有成员,为一个 dailog(窗口)的指针 ;#endif/MAINWINDOW_H mainwindow.cpp 程序:cppview plaincopy#include mainwindow.h#include ui_mainwindow.h MainWindow:MainWindow(QWidget*parent):QMainWindow(parent),ui(new Ui:MainWi

7、ndow)ui-setupUi(this);/把给定的组件设定成主窗口的中央组件,这里是把 plainTextEdit 设为窗口的中央组件 setCentralWidget(ui-plainTextEdit);MainWindow:MainWindow()delete ui;void MainWindow:on_actionNew_Window_triggered()/新建一个窗口对象,其中的 this 指定了新的窗口的父对象是 MainWindow,在销毁Mainwindow 时也会销毁子对象,即该窗口对象 dialog=new MyDialog(this);/Modal 属性决定了 sho

8、w()应该将弹出的 dialog 设置为模态还是非模态 /默认情况下该属性为 false 并且 show()弹出的窗口是非模态的 /把这个属性设置为 true 就详单与设置 QWidget:windowModality 为Qt:ApplicationModal /执行 exec()忽略这个 Modal 这个属性,并且把弹出的 dialog 设置为模态的 dialog-setModal(false);/此处 ture 为模态,false 为非模态 dialog-show();main.cpp 程序:cppview plaincopy/2014/8/3 wayne HDU /问题描述:(1)创建一

9、个 mainwindow(2)创建一个 dialog,并且展示 modal 和 modaless的区别#include mainwindow.h#include int main(int argc,char*argv)QApplication a(argc,argv);MainWindow w;w.show();return a.exec();参考资料:参考资料:维基百科:http:/zh.wikipedia.org/wiki/%E5%AF%B9%E8%AF%9D%E6%A1%86小结小结 在这一节介绍了主窗口和对话框的模态和非模态的知识,这些都是基本知识,需要对其有牢固的掌握。PS:从家里回来了,最近手头忙的东西有一定进展,但是在没有得到最终预想结果之前不能懈怠。其实养成早睡早起的习惯是件好事情,而且夏天感觉天亮的特别早,很早就睡不着了 o()o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁