Qt创建停靠悬浮窗口
2018-01-07 15:21
281 查看
1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域,
2.将一个空间插入停靠窗体使用setWidget方法
3.它的构造方法之一是:指定标题和父窗口
4.在主窗口加入悬浮窗使用addDockWidget,并且可以指定停靠区域
5.看创建停靠窗口完整代码
6.查看运行结果:
![](https://images2017.cnblogs.com/blog/1069003/201801/1069003-20180107151950159-1536499003.png)
![](https://images2017.cnblogs.com/blog/1069003/201801/1069003-20180107152003893-1147788114.png)
dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭
dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边
2.将一个空间插入停靠窗体使用setWidget方法
dw1->setWidget(dte);
3.它的构造方法之一是:指定标题和父窗口
QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//构建停靠窗口,指定父类
4.在主窗口加入悬浮窗使用addDockWidget,并且可以指定停靠区域
addDockWidget(Qt::RightDockWidgetArea,dw1);
5.看创建停靠窗口完整代码
#include "dockwindow.h" #include<QTextEdit> #include <QDockWidget> DockWindow::DockWindow(QWidget *parent) : QMainWindow(parent) { setWindowTitle("停靠窗口"); QTextEdit *te = new QTextEdit("MainWindow",this); te->setAlignment(Qt::AlignCenter); setCentralWidget(te); //停靠窗口1 QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//构建停靠窗口,指定父类 dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭 dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边 QTextEdit *dte = new QTextEdit("DockWindow First"); dw1->setWidget(dte); addDockWidget(Qt::RightDockWidgetArea,dw1); //停靠窗口2 QDockWidget *dw2 = new QDockWidget("停靠窗口2",this);//构建停靠窗口,指定父类 dw2->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可浮动,可关闭 QTextEdit *dte2 = new QTextEdit("DockWindow Second"); dw2->setWidget(dte2); addDockWidget(Qt::RightDockWidgetArea,dw2); //停靠窗口3 QDockWidget *dw3 = new QDockWidget("停靠窗口3",this);//构建停靠窗口,指定父类 dw3->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置停靠窗口特性,具有全部停靠窗口的特性 QTextEdit *dte3 = new QTextEdit("DockWindow Third"); dw3->setWidget(dte3); addDockWidget(Qt::RightDockWidgetArea,dw3); }
6.查看运行结果:
![](https://images2017.cnblogs.com/blog/1069003/201801/1069003-20180107151950159-1536499003.png)
![](https://images2017.cnblogs.com/blog/1069003/201801/1069003-20180107152003893-1147788114.png)
相关文章推荐
- Qt+vs2010创建多窗口时,关于每次创建2个窗口的问题的解决方法
- Qt基础——让使用Designer创建的UI也能自动适应窗口大小
- Qt基础——让使用Designer创建的UI也能自动适应窗口大小
- QT 创建无边窗口
- Qt中创建场景并将该创景显示在窗口上面实例
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- QT源码之QT创建窗口程序、消息循环和WinMain函数
- Qt下设置停靠窗口的大小
- QT创建自定义窗口部件笔记
- OpenGL_Qt学习笔记之_01(创建一个OpenGL窗口)
- QT--QDockWidget 停靠窗口
- Qt学习之对话框与主窗口的创建
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- Qt学习之三:创建主窗口
- QT创建两个窗口(一个窗口包含另一窗口)
- Qt OpenGL----创建openGL窗口
- Qt停靠窗口角落设置
- OpenGL_Qt学习笔记之_01(创建一个OpenGL窗口)
- Qt 布局管理 - 停靠窗口
- 使用MFC创建悬浮窗口