文章目录
- 一. 浮动窗口
- 二. 代码创建&使用浮动窗口
- 1. 创建浮动窗口
- 2. 设置可停靠位置
- 3. 添加控件
一. 浮动窗口
浮动窗口(也称为“停靠窗口”或“工具窗口”),是一个可以在主窗口内或主窗口外部悬浮的窗口。它通常用于显示工具栏、面板或其他附加信息。浮动窗口可以被拖动、最小化、最大化或关闭
浮动窗口是通过 QDockWidget类 实现浮动的功能,浮动窗口一般位于核心部件的周围,可以有多个,如下图红色区域都是浮动窗口
二. 代码创建&使用浮动窗口
1. 创建浮动窗口
浮动窗口,通过 QDockWidget类 提供的构造方法 QDockWidget()函数 动态创建
通过 QMainWindow类 提供的 addDockWidget 方法添加浮动窗口并设置其初始化位置,其函数原型如下:
void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget);
area是浮动窗口的初始位置,dockwidget是浮动窗口
area类型为枚举类型,位置如下:
Qt::LeftDockWidgetArea
停靠在左侧Qt::RightDockWidgetArea
停靠在右侧Qt::TopDockWidgetArea
停靠在顶部Qt::BottomDockWidgetArea
停靠在底部Qt::AllDockWidgetAreas
以上四个位置都可停靠
代码示例:
QDockWidget *dockWidget = new QDockWidget();
this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);//设置在左侧
运行结果如下:
2. 设置可停靠位置
浮动窗口可以位于中心部件的周围,通过 QDockWidget类 提供的 setAllowedAreas()
函数设置其允许停靠的位置,其允许停靠的位置如上所述
代码示例:设置浮动窗口允许左右停靠
//设置可停靠的位置
dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
运行结果如下:
3. 添加控件
Qt 设置 浮动窗口只能设置一个控件,所以如果要添加多控件,可以设置 QWidget类,然后将其他控件添加到 QWidget上
代码示例:设置布局管理器,管理标签和按钮
//设置界面
QWidget *container = new QWidget();
dockWidget->setWidget(container);
QVBoxLayout *vLayout = new QVBoxLayout();
container->setLayout(vLayout);
//标签和按钮
QLabel *label = new QLabel("标签文本");
QPushButton *button = new QPushButton("按钮");
vLayout->addWidget(label);
vLayout->addWidget(button);
运行结果如下:
结束语
感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。