Qt中的多窗体编程
在某些应用中,会用到多窗体功能,这里就来讨论一下Qt下多窗体功能的实现。本例仍以qt4.8.7版本为例,并基于QtCreator4.6.2环境进行开发。在本例中,以一个能显示实时时钟的第二窗体为例进行讨论,其中拟采用菜单点击的方式来打开时钟子窗体,并加入了控件随窗体大小变化的方法,对话框窗体按钮的编程方法,关闭窗体时的确认通知方法以及更改应用程序图标的方法等等,具体过程如下。
1、新建一个窗体应用的工程,单击“文件”->“新建文件或项目”,在弹出的对话框中,默认选择项目“Application”中的“Qt Widgets Application”工程,如下图所示,然后单击“Choose...”按钮。
2、随后的操作全部以默认值进行,整个工程建好后如下图所示。
3、在窗体的工具条上点击右键,选择“移除工具栏mainToolBar”,删除工具栏,如下图所示。
4、在窗体上点击右键,选择“移除状态栏”,删除状态栏,如下图所示。
5、在窗体的菜单栏上双击,在其中输入“操作”作为菜单名称,然后在其下面再双击并输入“时钟” ,如下图所示。
6、双击下面的“添加分隔符”,在“时钟”一项下添加一条分隔线,然后以同样的方式再在线下新建一项“退出”,如下图所示。
7、完成以上步骤后点击左边的绿色三角符号,先运行一下看看窗体的效果,如下图所示。
8、接下来需要再建立一个时钟显示的窗体,单击“文件”->“新建文件或项目”,弹出一个对话框,在对话框左边的“文件和类”下面选择“Qt”一项,然后在中间选择“Qt设计师界面类”,如下图所示,单击“Choose...”按钮。
9、在接下来的对话框中,就选择默认的带底部按钮的对话框形式,如下图所示,点击“下一步”。
10、类名取为“timeDialog”,如下图所示,单击“下一步”按钮。
11、接下来询问是否把新建的窗体加入到项目中,这里默认加入,如下图所示,点击“完成”按钮。
12、全部完成后,切换到编辑状态,可看到新加入了三个文件,一个是头文件timedialog.h,一个是源文件timedialog.cpp,一个是窗体文件timedialog.ui,如下图所示。
13、在Forms下双击“timedialog.ui”,打开新建立的对话框窗体,并在其中放置一个显示时钟用的LCD Number控件,如下图所示。
14、点击“文件”->“保存所有文件”,保存项目。至此,就完成了本例所有窗体的创建工作。 接下来就需要编写相应的程序代码了。
Qt中的多窗体编程的更多相关文章
- Qt中采用多线程实现Socket编程
Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 本文介绍的是Qt中采用多线程Socket编程,由于工作的需要,开始 ...
- Windows平台下Qt中glut库的使用
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...
- QT中使用Glut库
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...
- Qt中QString、QByteArray、int、double之间转换
最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤 1. ...
- QT中的SOCKET编程(QT-2.3.2)
转自:http://mylovejsj.blog.163.com/blog/static/38673975200892010842865/ QT中的SOCKET编程 2008-10-07 23:13 ...
- Qt中的多线程编程
http://www.ibm.com/developerworks/cn/linux/l-qt-mthrd/ Qt 作为一种基于 C++ 的跨平台 GUI 系统,能够提供给用户构造图形用户界面的强大功 ...
- 在Qt(C++)中与Python混合编程
一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...
- c# WinForm窗体编程中对窗体程序设置快捷键
c# WinForm窗体编程中对窗体程序设置快捷键http://www.cnblogs.com/bison1989/archive/2011/09/19/2180977.html /// <su ...
- QT中的SOCKET编程
转自:http://mylovejsj.blog.163.com/blog/static/38673975200892010842865/ QT中的SOCKET编程 2008-10-07 23:13 ...
- qt中窗体全屏
原文地址:https://www.cnblogs.com/wiessharling/p/3750461.html 近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一 ...
随机推荐
- Python如何像awk一样分割字符串
若你使用过 Shell 中的 awk 工具,会发现用它来分割字符串是非常方便的.特别是多个连续空格会被当做一个处理. [root@localhost ~]# cat demo.txt hello wo ...
- Salesforce LWC学习(四十) datatable的dynamic action的小坑浅谈
本篇参考:https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable/documentatio ...
- vue引入高德地图
一,下载 npm install vue-amap --save 二,main.js文件内引入 import VueAMap from 'vue-amap' Vue.use(VueAMap); // ...
- 历时9个月重构iNeuOS工业互联网操作系统,打造工业领域的“Office”
目 录 1. 概述... 1 2. 整体介绍... 2 3. 主要功能简介... 5 1. 概述 历时9个月的时间,对iNeuOS工业互联网操作系统进行全 ...
- ubuntu系统wireshark源码编译与安装
官网:https://www.wireshark.org/ 官方文档:Wireshark · Documentation 一 介绍 wireshark[1]是一款抓包工具.wireshark的GUI( ...
- texlive2021编译中文
环境 Windows 10 编译 测试latex代码 \documentclass{article} \usepackage[UTF8]{ctex} \begin{document} 中文输入 \en ...
- 搭建一个Hexo个人博客系统
0x01 前言 虽然说前两天折腾了一下博客园(自己之前也有做过自己的博客,奈何维护费用太贵了,真的消耗不起,钱要花在刀刃上.) 网上有些教程有些参差不齐,今天给自己的真实搭建过程呈现给大家. 0x02 ...
- [seaborn] seaborn学习笔记2-散点图Scatterplot
2 散点图Scatterplot(代码下载) 散点图能够显示2个维度上2组数据的值.每个点代表一个观察点.X(水平)和Y(垂直)轴上的位置表示变量的值.研究这两个变量之间的关系是非常有用的.在seab ...
- [数据与分析可视化] D3入门教程3-d3中的数据操作
d3.js入门教程3-d3.js中的数据操作 文章目录 d3.js入门教程3-d3.js中的数据操作 数学操作 对象和数组 过滤Filtering 排序Sorting 映射group 循环loop 重 ...
- java入门与进阶 P-2.5+P-2.6
嵌套和级联的判断 嵌套的判断 当if的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句 else的匹配 else总是和最近的那个if匹配 tips 在if ...