qt中实现多窗口切换
来源:互联网 发布:淘宝定制耳机推荐 编辑:程序博客网 时间:2024/05/23 21:17
qt提供了多种实现多窗口切换的框架,想QTabWidget,QStackedWidget,QDockWidget(也算是吧),这里说的“窗口切换”的意思是,在主界面上每次只显示一个窗口。系统自带的类使用起来很方便,但是也带有了自己的风格,譬如QTabWidget的切换时通过tab标签来进行窗口切换,这些标签在主窗口顶部,不会消失。QStackWidget也类似,跳转到其他窗口的控件总是存在于主窗口,有时这并不是想要的风格。
这里介绍一下我在项目中使用的一种方式,也是经过多次尝试的。起初,我的想法是设置centralwidget,每一次切换窗口就把该窗口设置为中心部件,但是这么做发现每个窗口只能被切换一次,因为当把一个窗口设置为中心部件时,之前的窗口不是保持不变,也不是隐藏,而是被销毁了。如果再想显示之前的窗口,将它设置为中心部件,就会报出内存错误。
所以我选择的方式是一般的布局管理器QVBoxLayout, QHBoxLayout(当然也可以尝试其他的)。mainwindow只设置一个中心部件widget,该widget的布局是一般布局管理器,对于该布局管理器,要显示该窗口时,就把该窗口添加到布局管理器,还应该把其他窗口从布局管理器中移走,这个方法似乎不太常用。
showLayout->removeWidget(dscInterface); //移走不需要显示的窗口;
dscInterface->setVisible(false); //窗口设置为不可见。
之后在布局管理器中就只会显示需要显示的窗口了。
c++或者基于c++的QT是非常灵活的语言和平台,实现一个功能往往有多种方式,但是也该注意到作为语言和平台,它们内在遵循和维护的规则,是不可更改的,有时候达不到目的(就像使用centralwidget)并不是程序员的错,而是语言本身的固执。但是此路不通自然有别径,就算最后都实现不了,它肯定还会给你一些差强人意的解决办法。
- qt中实现多窗口切换
- QT实现多窗口切换
- QT实现多窗口切换
- QT实现多窗口之间的切换
- QT中实现多窗口切换,并从子窗口返回数据
- 基于Qt的多窗口设计-窗体切换的实现
- 基于Qt的多窗口设计-窗体切换的实现
- QT creator 如何实现多窗口之间的切换
- 基于Qt的多窗口设计-窗体切换的实现
- Qt多窗口切换程序
- Qt多窗口切换程序
- Qt 多窗口的相互切换
- Qt多窗口来回切换实战
- QT多窗口语言动态切换
- 【Qt开发】窗口切换
- qt窗口切换
- 在winform中实现多窗口的使用 及切换
- Qt中单个窗口中实现多个页面显示
- 由web程序出现乱码开始挖掘(Bom头、字符集与乱码)
- 关于mysql -uroot -p 或者修改密码时候用到mysqladmin
- pyspark Python 连接 HBase thrift
- POJ 1050 JAVA
- 腾讯天气预报接口pm25.in
- qt中实现多窗口切换
- 完全理解Gson(1):简单入门
- Tomcat 多应用共享session
- 《你必须知道的495个C语言问题》知识笔记及补充
- jquery可拖动表格调整列格子的宽度大小 本文章来源于 代潇瑞博客 原文地址:http://www.daixiaorui.com/read/98.html
- 熄灯问题
- 获取UIView坐标和宽高
- 大数据在金融行业的应用——银行大数据
- Android BlueDroid(一):BlueDroid概述