一.概述
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);
然后依次构造编译,就完成了!
标签:src,Docking,ads,ll,System,new,Qt From: https://www.cnblogs.com/ybqjymy/p/17247623.html