Qt窗口 | 浮动窗口 | QDockWidget的使用及说明
一、浮动窗口
1. 什么是浮动窗口
浮动窗口是计算机图形界面中一种常见的窗口类型,它可以悬浮在其他窗口之上并且可以自由移动。浮动窗口通常被用于显示一些特定的信息或功能,例如实时监测数据、通知消息、弹出菜单等。浮动窗口可以在屏幕上的任何位置出现,用户可以根据需要将其拖动到合适的位置。
二、QDockWidget介绍
1. 简介
QDockWidget是Qt中的一个窗口部件,它提供了一个可停靠的面板,可用于显示和编辑各种内容。
QDockWidget可以在主窗口中创建并停靠在不同的位置,如左侧、右侧、顶部或底部。它可以通过拖动和放置的方式来改变其位置和大小。QDockWidget还可以嵌套在另一个QDockWidget内部,创建一个多级的停靠窗口布局。
2. 常用属性
3. 常用方法
三、代码创建浮动窗口
1. 创建浮动窗口
浮动窗⼝的创建是通过 QDockWidget类 提供的构造⽅法 QDockWidget()函数 动态创建的
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDockWidget> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建浮动窗口 QDockWidget* dockwidget = new QDockWidget(); //使用 addDockWidget 方法, 把浮动窗口加入到子窗口中 this->addDockWidget(Qt::BottomDockWidgetArea,dockwidget); //设置窗口标题 dockwidget->setWindowTitle("浮动窗口"); } MainWindow::~MainWindow() { delete ui; }
运行代码,中间的窗口就是浮动窗口
2. 设置浮动窗口允许停靠的位置
浮动窗⼝是位于中⼼部件的周围。可以通过 QDockWidget类 中提供 setAllowedAreas() 函数设置其
允许停靠的位置。
其中可以设置允许停靠的位置有:
• Qt::LeftDockWidgetArea 停靠在左侧
• Qt::RightDockWidgetArea 停靠在右侧
• Qt::TopDockWidgetArea 停靠在顶部
• Qt::BottomDockWidgetArea 停靠在底部
• Qt::AllDockWidgetAreas 以上四个位置都可停靠
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDockWidget> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建浮动窗口 QDockWidget* dockwidget = new QDockWidget(); //使用 addDockWidget 方法, 把浮动窗口加入到子窗口中 this->addDockWidget(Qt::BottomDockWidgetArea,dockwidget); //设置窗口标题 dockwidget->setWindowTitle("浮动窗口"); //设置窗口只允许左和上停靠 dockwidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::TopDockWidgetArea); } MainWindow::~MainWindow() { delete ui; }
运行代码,浮动窗口只能在左和上边停靠