Windows图形界面(GUI)-QT-C/C++ - QT Dock Widget
- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
目录
一、概述
二、使用场景
1. 工具栏
2. 侧边栏
3. 调试窗口
三、常见样式
1. 停靠位置
2. 浮动窗口
3. 可关闭
4. 可移动
四、属性设置
1. 设置内容
2. 获取内容
3. 设置标题
4. 获取标题
5. 设置特性
6. 获取特性
7. 设置可停靠区域
8. 获取可停靠区域
五、信号与槽
1. 浮动状态改变信号
2. 可停靠区域改变信号
3. 特性改变信号
一、概述
QDockWidget
是 Qt 框架中用于创建可停靠窗口的组件。它允许用户在主窗口的四周(顶部、底部、左侧、右侧)停靠或浮动显示一个独立的窗口。QDockWidget
广泛应用于工具栏、侧边栏、调试窗口等场景,为用户提供灵活的界面布局和操作体验。
二、使用场景
1. 工具栏
QDockWidget
可以用作工具栏,例如文件浏览器、属性编辑器等。用户可以根据需要将工具栏停靠在主窗口的任意一侧,或将其浮动为独立窗口。
2. 侧边栏
在复杂的应用程序中,侧边栏通常用于显示项目视图、导航面板等内容。QDockWidget
可以方便地实现侧边栏的停靠和浮动功能。
3. 调试窗口
在开发或调试过程中,调试窗口(如变量查看器、日志输出等)是必不可少的工具。QDockWidget
可以将调试窗口停靠在主窗口的任意位置,方便开发者查看和操作。
三、常见样式
1. 停靠位置
QDockWidget
可以停靠在主窗口的四个区域:
-
顶部(
Qt::TopDockWidgetArea
) -
底部(
Qt::BottomDockWidgetArea
) -
左侧(
Qt::LeftDockWidgetArea
) -
右侧(
Qt::RightDockWidgetArea
)
2. 浮动窗口
QDockWidget
可以作为独立的窗口浮动在主窗口之外,用户可以通过拖动标题栏将其移动到任意位置。
3. 可关闭
QDockWidget
可以设置为可关闭,用户可以通过关闭按钮关闭停靠窗口。
4. 可移动
用户可以通过拖动标题栏来移动停靠窗口,调整其位置或将其停靠到其他区域。
四、属性设置
QDockWidget
提供了丰富的属性设置方法,开发者可以通过这些方法灵活地配置停靠窗口的行为和外观。
1. 设置内容
QTextEdit *textEdit = new QTextEdit; dockWidget->setWidget(textEdit);
2. 获取内容
QWidget *widget = dockWidget->widget();
3. 设置标题
dockWidget->setWindowTitle("Dock Widget");
4. 获取标题
QString title = dockWidget->windowTitle();
5. 设置特性
dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable);
6. 获取特性
QDockWidget::DockWidgetFeatures features = dockWidget->features();
7. 设置可停靠区域
dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
8. 获取可停靠区域
Qt::DockWidgetAreas areas = dockWidget->allowedAreas();
五、信号与槽
1. 浮动状态改变信号
connect(dockWidget, &QDockWidget::topLevelChanged, this, &MyClass::onTopLevelChanged);
2. 可停靠区域改变信号
connect(dockWidget, &QDockWidget::allowedAreasChanged, this, &MyClass::onAllowedAreasChanged);
3. 特性改变信号
connect(dockWidget, &QDockWidget::featuresChanged, this, &MyClass::onFeaturesChanged);