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

一.概述

1.控件描述

  QT自带的Dock布局管理大家都用过,中规中矩,但是满足不了现在ui强大的人机交互需求。而Qt-Advanced-Docking-System在Dock的基础上进一步完善功能,具有更高的自由度、灵活性和可扩展性,满足程序员对人机交互的自由定义。这个开源控件类似于Devexpress中的DockPanel。

二.使用教程

1.新建QT项目

在新建项目时,要选择子目录项目。

新建父项目后,会自动弹出子项目新建选项。
这个按照常规QT项目新建。

 到这里,项目新建完成,下面可以开始编写代码了。
2.引入Qt-Advanced-Docking-System
解压Qt-Advanced-Docking-System-master.zip,找到src和ads.pri。

 将src和ads.pri拷贝到父项目文件夹下

 打开父项目.pro文件,在.pro中添加

DockUse.depends = src

打开子项目中.pro文件,在.pro中添加

复制代码
 1 # dock use
 2 ADS_OUT_ROOT = $${OUT_PWD}/..
 3 
 4 # dock use
 5 DESTDIR = $${ADS_OUT_ROOT}/lib
 6 CONFIG += debug_and_release
 7 adsBuildStatic {
 8     DEFINES += ADS_STATIC
 9 }
10 
11 #LIBS += -L$${ADS_OUT_ROOT}/lib
12 include(../ads.pri)
13 INCLUDEPATH += ./src
14 DEPENDPATH += ./src
15 LIBS += -LD:/LiumuyiProgram/QTCode/TestPrograms/DoclProTest/ -lqtadvanceddockingd
复制代码

在mainwindow.h中,引用

1 #include "../src/DockManager.h"
2 #include "qlabel.h"

定义变量

ads::CDockManager* m_pDockManager;

在mainwindow.cpp中,可以在构造函数中加入:

复制代码
 1 m_pDockManager = new ads::CDockManager(this);
 2 
 3     QLabel* l = new QLabel();
 4     l->setWordWrap(true);
 5     l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
 6     l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");
 7 
 8 
 9     ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");
10     DockWidget->setWidget(l);
11 
12     QLabel* ll = new QLabel();
13     ll->setWordWrap(true);
14     ll->setAlignment(Qt::AlignTop | Qt::AlignLeft);
15     ll->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");
16 
17 
18     ads::CDockWidget* DockWidget1 = new ads::CDockWidget("Label 2");
19     DockWidget1->setWidget(ll);
20 
21 
22     ui->menubar->addAction(DockWidget->toggleViewAction());
23     ui->menubar->addAction(DockWidget1->toggleViewAction());
24 
25     m_pDockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
26     m_pDockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget1);
复制代码

然后依次构造编译,就完成了!

 

posted on   一杯清酒邀明月  阅读(2826)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2020-03-23 Qt error: LNK1158 无法运行rc.exe解决办法
2020-03-23 Qt error C3615: constexpr 函数 "qCountLeadingZeroBits" 不会生成常数表达式
< 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

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