Qt扩展-Advanced-Docking 简介及配置

2023-10-06 11:15

本文主要是介绍Qt扩展-Advanced-Docking 简介及配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Advanced-Docking 简介及配置

  • 一、概述
  • 二、项目结构
  • 三、安装配置
  • 四、代码测试

一、概述

Advanced-Docking 是类似QDockWidget 功能的多窗口停靠功能的库。很像visual stdio 的 停靠功能,这个库对于停靠使用的比较完善。很多的软件都使用了这个框架。

项目源地址:

https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System

使用案例入下:

  • Qt Creator
    从4.12版本开始,Qt Creator在其Qt Designer 中使用了该框架。
    在这里插入图片描述
  • CETONI Elements
    CETONI Elements软件是一款全面的、基于插件的模块化实验室自动化软件,用于使用联合图形用户界面控制CETONI设备。该软件具有强大的脚本系统,可自动执行流程。这个软件也使用了这个视窗布局系统,使用户可以自由安排各种插件提供的所有视图和窗口。
    在这里插入图片描述

二、项目结构

demo 目录和 example 目录下都是 项目的使用例子,我们就是从里面去参考这些示例即可。

src 目录是源代码目录,这个目录最终生成的是一个动态库和静态库,我们可以改变里面的ads.qrc 或者里面的 stylesheets 文件,达到定制这个布局系统的外观显示情况。
在这里插入图片描述

三、安装配置

我们打开源码编译后的 lib 目录下的内容,看我们需要使用哪种库引入即可。

同时把 src 里面的头文件给 复制到新的文件夹下

在这里插入图片描述
在这里插入图片描述
在header 文件夹下包括如下的文件。
在这里插入图片描述

四、代码测试

在 .pro 文件中添加,引入库的功能

win32: LIBS += -L$$PWD/lib/ -lqtadvanceddockingINCLUDEPATH += $$PWD/header
DEPENDPATH += $$PWD/header

测试源码

  • main.cpp
#include "ADSUse.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);qDebug()<< QResource::registerResource("D:/Programs_Projects/Qt/GraduationDesign/MindCheck/Rescourses.rcc");QApplication::setStyle(QStyleFactory::create("Fusion"));ADSUse w;w.show();return a.exec();
}
  • ADSUse.h
#ifndef ADSUSE_H
#define ADSUSE_H#include <QWidget>
#include <DockManager.h>
#include <DockWidget.h>
#include <QLabel>namespace Ui {
class ADSUse;
}class ADSUse : public QWidget
{Q_OBJECTpublic:explicit ADSUse(QWidget *parent = nullptr);~ADSUse();private:Ui::ADSUse *ui;// The main container for dockingads::CDockManager* m_DockManager;
};#endif // ADSUSE_H
  • ADSUse.cpp

#include "ADSUse.h"
#include "ui_ADSUse.h"ADSUse::ADSUse(QWidget *parent) :QWidget(parent),ui(new Ui::ADSUse)
{ui->setupUi(this);// Create the dock manager after the ui is setup. Because the// parent parameter is a QMainWindow the dock manager registers// itself as the central widget as such the ui must be set up first.m_DockManager = new ads::CDockManager(this);// Create example content label - this can be any application specific// widgetQLabel* l = new QLabel();l->setWordWrap(true);l->setAlignment(Qt::AlignTop | Qt::AlignLeft);l->setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ");// Create a dock widget with the title Label 1 and set the created label// as the dock widget contentads::CDockWidget* DockWidget = new ads::CDockWidget("Label 1");DockWidget->setWidget(l);// Add the toggleViewAction of the dock widget to the menu to give// the user the possibility to show the dock widget if it has been closed//ui->menuView->addAction(DockWidget->toggleViewAction());// Add the dock widget to the top dock widget aream_DockManager->addDockWidget(ads::TopDockWidgetArea, DockWidget);
}ADSUse::~ADSUse()
{delete ui;
}

这篇关于Qt扩展-Advanced-Docking 简介及配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/152904

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实