前言
最近项目忙完了,一直在写文档,趁有点时间多找一点开源项目为下个项目做准备。今天分享的项目是Qt的一个开源项目: Qt-Advanced-Docking-System 。这个项目是对QDockWidget的增强版本,体验了一把这个项目瞬间不想用Qt的QDockWidget了。下面就一起体验吧!
项目使用
1. 解压项目
2. 新建一个我们自己的项目,记住需要新建一个子项目工程
输入项目名称和项目存放路径
3. 添加一个子项目
4. 复制:Qt-Advanced-Docking-System src文件夹和ads.pri 文件
5. 在子项目工程Pro文件添加
DockUse.depends = src
6. 在需要使用Qt-Advanced-Docking-System的项目(此处我是在DockUse.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
7. 在mainwindow.cpp中添加测试代码
#include "../src/DockManager.h"
ads::CDockManager* m_pDockManager;
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);
8. 编译运行此项目
总结
此项目我今天年初的时候通过一去二三里大佬的博客知道的,一直有关注最近发现这个库Bug似乎修复了呢,以前我用的还是有Bug,这个库还在一直更新值得使用
项目地址
原文地址:
更多推荐