本文标题:QMdiArea及QMdiSubWindow实现父子窗口及布局方法 本文地址:http://techieliang.com/2017/12/756/
1. 介绍
QMdiArea类提供了一个子窗口区域,而QMdiSubWindow则是子窗口类,均继承自QWidget。
相关帮助文档:QMdiArea、QMdiSubWindow
QMdiArea可在Designer中直接拖拽控件,其内可以添加QMdiSubWindow也可以添加其他QWidget及其子类,也支持布局功能
1.1. QMdiArea接口
- QMdiSubWindow *addSubWindow(QWidget *widget, Qt::WindowFlags windowFlags = Qt::WindowFlags())
- QMdiSubWindow *activeSubWindow() const
- void closeActiveSubWindow()
- void closeAllSubWindows()
添加窗口,当前活动窗口,关闭当前活动窗口,关闭所有窗口
还有以下枚举类型:
QMdiArea::ViewMode显示模式:SubWindowView,TabbedView
QMdiArea::AreaOption默认不全屏设置,如果不设置此项,在TabbedView
时会将当前选中窗口最大化,且无边框
QMdiArea::WindowOrder排列顺序,CreationOrder
、StackingOrder
、ActivationHistoryOrder
1.2. QMdiSubWindow接口
使用方面和QWidget无太大差异,若有对此类特殊的使用要求可看帮助文档。
2. 范例
源码请见GitHub:QtWidgetsExamples