lovejobs

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  138 随笔 :: 3 文章 :: 46 评论 :: 28万 阅读

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

    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.查看运行结果:

 

 


posted on   lovejobs  阅读(12667)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示