使用这种方法可以通过代码的方式,在已有的界面中布局
先给出一段示例代码使用:
m_Statistics = new StatisticsWidget();
QDockWidget *DockStatistics = new QDockWidget(QString::fromLocal8Bit("标题栏"));
DockStatistics->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);//设置界面是否可以移动和剥离主界面
addDockWidget(Qt::RightDockWidgetArea, DockStatistics);//添加到界面右侧
DockStatistics->setWidget(m_Statistics);//将dock widget设置成widget,用来显示窗口内的内容
设置界面的属性:关闭、移动、单独界面
DockWidgetClosable, DockWidgetMovable and DockWidgetFloatable.
如果当widget被添加的时候dock widget是可视化的,必须显示的调用show()函数进行窗口显示,而且在调用这个函数的时候必须添加布局方式。
布局图:
界面布局情况通过一个枚举决定:
enum DockWidgetArea {
LeftDockWidgetArea = 0x1,
RightDockWidgetArea = 0x2,
TopDockWidgetArea = 0x4,
BottomDockWidgetArea = 0x8,
DockWidgetArea_Mask = 0xf,
AllDockWidgetAreas = DockWidgetArea_Mask,
NoDockWidgetArea = 0
};