QDockWidget
上节我们引出了QDockWidget的概念,这节进行讲解并加以引用。
常用函数:
1、addDockWidget:添加停靠控件,用于指定或更改停靠控件的位置以及方向。
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget)
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget, Qt::Orientation orientation)
2、splitDockWidget:分割窗口,用于对两个QDockWidget进行水平或垂直布局。
void QMainWindow::splitDockWidget(QDockWidget * first, QDockWidget * second, Qt::Orientation orientation)
3、tabifyDockWidget:合并窗口,用于将多个QDockWidget叠加到同一区域。
void QMainWindow::tabifyDockWidget(QDockWidget * first, QDockWidget * second)
4、setDockNestingEnabled:是否允许嵌套布局
void QMainWindow::setDockNestingEnabled(bool enabled)
设置嵌套布局
在自编软件中,博主用到了9个QDockWidget,作为软件的基本窗口进行布局。下面介绍创建布局的方法。
首先是去除中央窗体(这是重点)。QMainWindow中自带中央窗体,如果不去除的话,可能会造成窗口间有空块的情况,大家可以自行尝试。去除后,所有窗口都由QDockWidget构成。
// cpp
QWidget* p = takeCentralWidget(); //删除中央窗体