一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域,

1 dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭
2 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.看创建停靠窗口完整代码

复制代码
 1 #include "dockwindow.h"
 2 #include<QTextEdit>
 3 #include <QDockWidget>
 4 
 5 DockWindow::DockWindow(QWidget *parent)
 6     : QMainWindow(parent)
 7 {
 8 
 9     setWindowTitle("停靠窗口");
10 
11     QTextEdit *te = new QTextEdit("MainWindow",this);
12     te->setAlignment(Qt::AlignCenter);
13     setCentralWidget(te);
14 
15     //停靠窗口1
16     QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//构建停靠窗口,指定父类
17 
18     dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭
19 
20     dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边
21 
22     QTextEdit *dte = new QTextEdit("DockWindow First");
23     dw1->setWidget(dte);
24     addDockWidget(Qt::RightDockWidgetArea,dw1);
25 
26     //停靠窗口2
27     QDockWidget *dw2 = new QDockWidget("停靠窗口2",this);//构建停靠窗口,指定父类
28 
29     dw2->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可浮动,可关闭
30 
31     QTextEdit *dte2 = new QTextEdit("DockWindow Second");
32     dw2->setWidget(dte2);
33     addDockWidget(Qt::RightDockWidgetArea,dw2);
34 
35     //停靠窗口3
36     QDockWidget *dw3 = new QDockWidget("停靠窗口3",this);//构建停靠窗口,指定父类
37 
38     dw3->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置停靠窗口特性,具有全部停靠窗口的特性
39 
40     QTextEdit *dte3 = new QTextEdit("DockWindow Third");
41     dw3->setWidget(dte3);
42     addDockWidget(Qt::RightDockWidgetArea,dw3);
43 
44 
45 }
复制代码

 

posted on   一杯清酒邀明月  阅读(2864)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示