也谈qt中QMdiArea和QSubWindow(实现子窗口管理)
2012-10-16 11:49
615 查看
昨天才静下心来仔细看了看QMdiArea
作为MainWindow的中央部件,QMdiArea的作用还是相当大的
首先是向QMdiArea中添加QSubWindow和从QMdiArea中删除QsubWindow
QSubWindow * addSubWindow(QWidget * widget);
widget可以是QSubWindow或者直接是QWidget及子类,若是后者的话QMdiArea会自动创建一个QSubWindow,然后将widget置为QSubWindow的setWidget();
首先removeSubWindow,不会删除widget,再有就是点击subWindow的close 按钮,mdi不会调用removeSubWindow,只是隐藏widget,要重新显示subWindow,只用subWindow->showNormal(),form->show();
想隐藏也可以直接调用subWindow的hide()函数
正统的关闭和显示是addSubWindow和removeSubWindow的成对调用。
可以设置设置subWindow和其widget的WA_DeleteOnClose属性,关闭时会删除subWindow和其widget,再显示时复制创建form和subWindow,这种情况在有些情况下还是有必要的,至少节约内存
作为MainWindow的中央部件,QMdiArea的作用还是相当大的
首先是向QMdiArea中添加QSubWindow和从QMdiArea中删除QsubWindow
QSubWindow * addSubWindow(QWidget * widget);
widget可以是QSubWindow或者直接是QWidget及子类,若是后者的话QMdiArea会自动创建一个QSubWindow,然后将widget置为QSubWindow的setWidget();
首先removeSubWindow,不会删除widget,再有就是点击subWindow的close 按钮,mdi不会调用removeSubWindow,只是隐藏widget,要重新显示subWindow,只用subWindow->showNormal(),form->show();
想隐藏也可以直接调用subWindow的hide()函数
正统的关闭和显示是addSubWindow和removeSubWindow的成对调用。
可以设置设置subWindow和其widget的WA_DeleteOnClose属性,关闭时会删除subWindow和其widget,再显示时复制创建form和subWindow,这种情况在有些情况下还是有必要的,至少节约内存
相关文章推荐
- 也谈qt中QMdiArea和QSubWindow
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- QT笔记之实现阴影窗口
- Qt学习记录3——登陆窗口的实现
- Qt实现读取图像并且窗口加滑动条,点击图像在鼠标点击处绘制小图像
- 第四篇 ANDROID窗口管理服务实现机制
- Qt中拖拽窗口以改变位置的实现
- Qt中实现窗口右键菜单
- QT之桌面精灵实现(二) --- 右键菜单、开机启动、窗口Z-Order
- 基于Qt的多窗口设计B-窗体切换的实现
- qt关闭窗口实现逐渐消失代码
- Qt 第6章 布局管理(1) 在窗体中摆放窗口部件 学习笔记
- qt实现点击输入框弹出输入面板和改变窗口的位置
- QT实现多窗口切换
- Qt如何实现多窗口调用
- QT布局管理程序实现的学习及 QTextEdit编辑
- Qt 实现基本布局管理 ---实验
- 自学QT之实现一个用户信息窗口
- QT:不规则窗口的实现