一.概述

1.控件描述

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

2.下载地址

免费下载

二.使用教程

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中添加

# dock use
ADS_OUT_ROOT = $${OUT_PWD}/..

# dock use
DESTDIR = $${ADS_OUT_ROOT}/lib
CONFIG += debug_and_release
adsBuildStatic {
    DEFINES += ADS_STATIC
}

#LIBS += -L$${ADS_OUT_ROOT}/lib
include(../ads.pri)
INCLUDEPATH += ./src
DEPENDPATH += ./src
LIBS += -LD:/LiumuyiProgram/QTCode/TestPrograms/DoclProTest/ -lqtadvanceddockingd

在mainwindow.h中,引用

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

定义变量

ads::CDockManager* m_pDockManager;

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

m_pDockManager = new ads::CDockManager(this);

    QLabel* l = new QLabel();
    l->setWordWrap(true);
    l->setAlignment(Qt::AlignTop | Qt::AlignLeft);
    l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");


    ads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");
    DockWidget->setWidget(l);

    QLabel* ll = new QLabel();
    ll->setWordWrap(true);
    ll->setAlignment(Qt::AlignTop | Qt::AlignLeft);
    ll->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");


    ads::CDockWidget* DockWidget1 = new ads::CDockWidget("Label 2");
    DockWidget1->setWidget(ll);


    ui->menubar->addAction(DockWidget->toggleViewAction());
    ui->menubar->addAction(DockWidget1->toggleViewAction());

    m_pDockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
    m_pDockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget1);

然后依次构造编译,就完成了!
在这里插入图片描述
此使用教程地址:下载地址

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐