首页 > 其他分享 >Qt Qt-Advanced-Docking-System介绍及使用教程

Qt Qt-Advanced-Docking-System介绍及使用教程

时间:2023-03-23 15:35:46浏览次数:36  
标签:src Docking ads ll System new Qt

一.概述

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

相关文章

  • Qt 优秀开源项目 Qt-Advanced-Docking-System
    这个项目的原作者是mfreiholz,但是已经6年没更新,githubuser0xFFFF将该项目fork之后,一直维护到现在,这应该算是开源界的接力了。如果你还在项目Visualstudio的酷炫docking效......
  • Qt QtPromise源码剖析
    Promise概念Promise是一种异步编程的解决方案.Promises是用于传递异步计算结果的回调的替代方法.QtPromise开源模板库使用Qt框架的朋友如果对异步编程有需求,建议可使......
  • qt 多线程 moveToThread 的一个骚操作
    moveToThread 相当于是一个多线程的阻塞函数,本案例可多次点击按钮,多次触发,这个信号触发类似于内部建立一个队列,处理函数会按照顺序处理信号 test_moveToThread.p......
  • Qt Qwt与QCustomPlot
    一、QWT简介QWT,即QtWidgetsforTechnicalApplications,是一个基于LGPL版权协议的开源项目,可生成各种统计图,是为具有技术专业背景的程序提供GUI组件和一组实用类,其......
  • Qt Qwt、QChart、QCustomPlot比较
    美观方面:Qcustomplot≈Qchart>QwtQcustomplot界面简洁大方;Qchart界面华丽优美,其中QChart中绘制的线条处不能使用鼠标,所以在数据量大的时候会引响鼠标的缩放、移动图表......
  • Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试
    前言  之前特定的mysql版本msvc版本已经调通了,但是为了更好的跨平台,所以选择用mingw32版本,于是需要编译mysql驱动的mingw32版本的驱动库,以便提供给qt连接mysql使用。<br......
  • Qt QtWidget使用Material风格的组件库
    一、qt-material-widget组件库介绍该组件库拥有炫酷的Material风格的组件,并且该组件库基于QtWidget开发的,目前实现了大约20个Material风格的组件,下面教大家如何编译该组件......
  • esp-idf 5.0 mqtt 华为云连接示例
    1.订阅和发布topic设备消息相关Topic$oc/devices/{device_id}/sys/messages/up设备消息上报$oc/devices/{device_id}/sys/messages/down平台下发消息给设备......
  • #创作者激励#物联网协议MQTT
    1.MQTT简介  MQTT(消息队列遥测传输)是ISO标准(ISO/IECPRF20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟......
  • Qt QXlsx(访问Excel)
    再Qt中已经有了QAxObject来访问Excel,但访问的是微软的com,只能访问正版的Excl中的.xls//xlsx,而且使用起来及其不方便(本人亲测)。在这里使用QXlsx,能更简单的访问Excel数......