33 QDockWidget

33.1 停靠组件

类型为QDockWidget的对象表示停靠组件,它们是环绕在主窗口中心组件周围,停靠于主窗口边框或其它停靠组件边缘的小组件。

停靠组件由两个重要的属性,一个是QDockWidget::DockWidgetFeatures类型的features属性,表示停靠特性,由下表中的常量通过位或组合:

QDockWidget::DockWidgetFeature停靠特性
DockWidgetClosable可关闭
DockWidgetMovable可移动
DockWidgetFloatable可悬浮
AllDockWidgetFeatures可关闭、移动、悬浮
NoDockWidgetFeatures不可关闭、移动、悬浮
DockWidgetVerticalTitleBar带垂直标题栏

另一个是Qt::DockWidgetAreas类型的allowedAreas属性,表示可停靠区域,由下表中的常量通过位或组合:

Qt::DockWidgetArea可停靠区域
LeftDockWidgetArea左侧
RightDockWidgetArea右侧
TopDockWidgetArea顶部
BottomDockWidgetArea底部
AllDockWidgetAreas哪都可以停靠
NoDockWidgetArea哪都不能停靠

33.2 案例

33.2.1 创建项目

通过QtCreator,在C:\Users\Minwei\Projects\Qt路径下,创建名为Dock的项目。

33.2.2 设计界面

C:\Users\Minwei\Projects\Qt\Dock\dockwindow.ui:

33.2.3 测试验证

运行效果如图所示: