前言

最近项目忙完了,一直在写文档,趁有点时间多找一点开源项目为下个项目做准备。今天分享的项目是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,这个库还在一直更新值得使用

项目地址

GitHub - githubuser0xFFFF/Qt-Advanced-Docking-System: Advanced Docking System for Qthttps://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System

原文地址:

Qt开源VS Dock项目Qt-Advanced-Docking-System简单使用-小何博客​  前言 最近项目忙完了,一直在写文档,趁有点时间多找一点开源项目为下个项目做准备。今天分享的项目是Qt的一个开源项目: Qt-Advanced-Docking-System 。这个项目是对QDochttps://ligo100.cn/houduanjishu/qt/268.html

Qt开源VS Dock项目Qt-Advanced-Docking-System简单使用相关推荐

  1. Qt开源库-顶级浮动窗口系统-Advanced-Docking-System【01】

    一.序言 顶级浮动窗口是大型软件中的常备组件,例如Visual Studio Code软件界面: 在上图中,将软件界面划分为不同的功能区,每个功能区负责显示软件的一部分功能.在上图中有项目工程管理窗口 ...

  2. Github上的一些高分Qt开源项目【多图】

    Github上的一些高分Qt开源项目[多图] Github上的一些高分Qt开源项目[多图] 1.TileMap - 游戏2D地图编辑器 2.litego - 基于Qt的Go集成开发环境 3.Cleme ...

  3. vs2008编译QT开源项目--太阳神三国杀源码分析(二) 客户端添加武将

    接着上篇文章继续分析,我们来看看进入到roomScene(房间场景)后,点击add a robot按钮,是如何创建武将的.首先找到add to robot按钮的创建代码: add_robot = ne ...

  4. Qt开源作品35-秘钥生成器

    一.前言 在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制. 远程联网激活,每次启动都联网查看使用时间等,这种方法最完 ...

  5. Qt开源作品33-图片开关控件

    一.前言 进入智能手机时代以来,各种各样的APP大行其道,手机上面的APP有很多流行的元素,开关按钮个人非常喜欢,手机QQ.360卫士.金山毒霸等,都有很多开关控制一些操作,在WINFORM项目上,如 ...

  6. Qt开源作品27-鼠标定位十字线

    一.前言 上次有个群友在咨询这个问题,如何用Qt绘制一个鼠标定位的十字线,花了两分钟整了个,最没有含金量的一个demo,就是用drawline绘制了两条线,这个效果在经典的CAD软件中很常用,还有一些 ...

  7. 【Qt 开源音视频框架模块QtAV】02:QTAV多功能播放器

    前言 在[Qt 开源音视频框架模块QtAV]01:介绍.编译以及简单使用中我们已经完成了QTAV的项目部署和简单案例的测试,下面我再分享下QTAV提供的播放器例程. 程序功能效果展示 演示的项目在QT ...

  8. Qt开源作品23-颜色拾取器

    一.前言 在做很多项目的UI界面的时候,相信绝大部分人都有过抄袭别人的UI界面尤其是颜色的时候,毕竟十个程序员九个没有审美,或者说审美跟一坨屎一样,大家主要的精力以及擅长点都是在写功能实现具体功能上面 ...

  9. Qt开源作品37-网络中转服务器

    一.前言 用Qt做开发10年了,其中做过好多项目,基于现在web和移动互联网发展如此迅猛,大量的应用场景需要一个网络中转服务器,可以实现手机app或者其他客户端远程回控设备,现在物联网发展非常迅猛,这 ...

最新文章

  1. mongodb3.2 java,MongoDB学习笔记:(3)、mongodb 3.2在java环境中的简单CRUD
  2. python环境变量配置_21 python环境的配置
  3. ITK:使用基于多尺寸Hessian的量度来分割血管
  4. mysql 回表查询优化_MySQL优化:如何避免回表查询?什么是索引覆盖?
  5. H.264算法的优化策略
  6. BugkuCTF-WEB题你从哪里来
  7. 怎样用Java 8优雅的开发业务
  8. 【C语言深入】[002] valotile 关键字:
  9. Java GridBagLayout简单电子邮件发送界面的实现
  10. android高德天气api,天气预报-天气预报-示例中心-JS API 2.0 示例 | 高德地图API
  11. ShardingSphere Raw JDBC 主从示例
  12. 微软ReportViewer(rdlc)发布时所需要的动态库(vs2010)
  13. python爬虫爬取网页图片_Python之多线程爬虫抓取网页图片
  14. mysql五:索引原理与慢查询优化
  15. 十款乐高积木虚拟搭建软件,乐高仿真工具,积木模拟搭建耗材统计评估软件...
  16. Ace Admin安装配置教程
  17. windows定时截屏小工具
  18. 【Linux】一步一步学Linux——hostid命令(246)
  19. 2021SC@SDUSC Zxing开源代码(九)Data Matrix二维码(二)
  20. 好听的计算机音乐大全,抖音里面的歌曲大全:100首超级好听的抖音歌曲(推荐)...

热门文章

  1. 【最经典的79个】软件测试面试题(内含答案)都是可以提前准备的!
  2. 海尔燃气热水器经常不能点火的简单维修
  3. get、put、post、delete含义与区别
  4. Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers(提升fabric 6倍性能的文章翻译)
  5. 联想LSE存高危漏洞 重装系统也无法消除
  6. ue4 怎么传递变量到另一个蓝图_【UE4】UI注意事项
  7. 自动投票系统【四】C# 清除Cookies
  8. 如何使用 Mac 上自带的「提醒事项」!
  9. 《数据清洗》8.3.8 加载电影数据至电影维度表
  10. 《痞子衡嵌入式半月刊》 第 41 期