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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依