Qt-Advanced-Docking-System

直译一下 : 先进的停靠系统


github:

mfreiholz/Qt-Advanced-Docking-System: Advanced Docking System for Qt

这是这个项目的起源

这个最后一次更新:


githubuser0xFFFF/Qt-Advanced-Docking-System: Advanced Docking System for Qt

这是另一个人复刻了一份,算是重新维护这个项目。(1519次提交        119次提交)


看了下,这个老哥还有个项目好像也不错。

githubuser0xFFFF/Qt-Advanced-Stylesheets: Advanced Stylesheets with Theming Support for Qt


Qt-Advanced-Docking-System最新发行版是v4.4.0


简介:

Qt Advanced Docking System lets you create customizable layouts using a full featured window docking system similar to what is found in many popular integrated development environments (IDEs) such as Visual Studio.

Qt 高级停靠系统让您能够使用功能齐全的窗口停靠系统创建可自定义的布局,该系统类似于许多流行的集成开发环境(IDE)(如 Visual Studio)中所采用的系统。


文档:

User Guide | Qt-Advanced-Docking-System

看起来还挺好的


示例程序的演示视频:

CETONI Elements Advanced Docking System


在 Linux 系统上使用 ADS 支持的发行版

不幸的是,并不存在所谓的“Linux 操作系统”。Linux 是一个由多种不同发行版组成的异构环境。

因此,无法像支持 Windows 那样支持“Linux”。只能支持并测试一小部分 Linux 发行版。该库可以针对某些 Linux 发行版进行编译,并且已经针对这些发行版进行了开发和测试。根据所使用的窗口管理器或合成器,带有原生标题栏的图标栏是支持的或不支持的。如果原生标题栏不被支持,该库则会切换到基于 Qwidget 的标题栏。

Kubuntu 18.04 和 19.10 版本 - 使用 KWin 系统 - 无原生标题栏

Ubuntu 18.04、19.10 和 20.04 版本 - 支持原生标题栏功能

Ubuntu 22.04 - 使用 Wayland 系统 -> 不具备原生标题栏

要求/条件

对于 Linux 系统的安装,有一些必须满足的条件:

一个支持 ARGB 视图格式以及复合窗口管理器的 X 服务器。这是为了能够显示半透明的桌面托盘覆盖层(https://doc.qt.io/qt-5/qwidget.html#creating-translucent-windows)所必需的。如果您的 Linux 发行版不支持此功能,或者您已禁用了此功能,那么您很可能会遇到问题 #95。

Wayland 目前尚未得到 Qt 的充分支持。如果您使用 Wayland,那么您应该将会话类型设置为 XDG_SESSION_TYPE=x11 ./AdvancedDockingSystemDemo。您可以在第 288 号问题中找到有关此内容的更多详细信息。


Tested Compatible Environments

已测试兼容的环境

支持的 Qt 版本

该库支持 Qt5 和 Qt6 版本。

它被用于一款商业化的 Windows 应用程序中,因此会不断接受测试。

commercial : 商业的


构建 (Build)​

Linux 构建需要私有头文件 (private header files)。请确保已安装这些文件。该库使用 SVG 图标,因此请确保安装了 Qt 的 SVG 支持。演示应用程序会创建一个 ​​QQuickWidget​​ 用于测试,因此请确保安装了所需的库。

​在 Ubuntu 18.04 或 20.04 上安装 Qt5​

sudo apt install qt5-default qtbase5-private-dev

​在 Ubuntu 22.04 上安装 Qt5​

sudo apt install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools libqt5svg5 libqt5qml5 qtdeclarative5-dev

​在 Ubuntu 22.04 上安装 Qt6​

sudo apt install qt6-default qt6-base-dev qt6-base-private-dev qt6-tools-dev libqt6svg6 qt6-qtdeclarative

用 Qt Creator 打开 ads.pro文件并开始构建即可。您可以运行演示项目并自行测试。


测试:

编译了一下:

Windows11        Qt库的版本:6.5.3


可替代的停靠系统实现

如果此 Qt 高级停靠系统 (Qt Advanced Docking System) 不能满足您的需求,您可以考虑以下 Qt 的其他替代停靠系统解决方案。

​KDDockWidgets​

这是来自 KDAB 的 Qt 高级停靠框架。其有趣之处在于,他们将 GUI 代码与逻辑分离,因此未来能够轻松提供 QtQuick 后端支持。

​许可 (License)​​: 双许可 (dual-licensed),提供商业许可和 GPL 许可。

官网:

Leading Expertise in Desktop and Embedded Software using Qt, C++, Rust and modern UI frameworks | KDAB

介绍:

Introducing KDDockWidgets - An advanced docking framework for Qt | KDAB

GitHub:

KDAB/KDDockWidgets: KDAB's Dock Widget Framework for Qt


​QtitanDocking​

这是来自 Developer Machines 的商业 Qt 框架组件,可用于创建类似微软 (Microsoft) 的可停靠用户界面。他们还提供许多其他有趣且实用的 Qt 组件。该库可在以下位置获取:

​许可 (License)​​: 商业许可 (Commercial license)

官网:

Developer Machines - Quality components for software Developers

产品界面:

Developer Machines - Quality components for software Developers


​DockingPanes​

DockingPanes 是一个面向 Qt Widgets 的库,它实现了具有 Visual Studio 外观和体验感的停靠窗口。它提供了一个简单的 API,允许应用程序通过少量调用即可使用停靠窗口。

  • GitHub 项目 KestrelRadarSensors/dockingpanes: A Visual Studio style docking windows library for Qt Widgets based applications

    ​许可 (License)​​: GPL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918321.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

湖南(源点咨询)市场调研 如何在行业研究中快速有效介入 中篇

我们接着起头篇来说迈克尔波特认为一个行业内存在着五种基本竞争力量,即潜在入侵者、替代产品、供方、需方以及行业内现有竞争者。如附图:即:同行业内现有竞争者的竞争能力、潜在竞争者进入的能力、替代品的替代能力、供应商的讨价还价能力、…

【无标题】消息队列(Message Queue)是一种**进程间通信(IPC)机制

消息队列(Message Queue)是一种进程间通信(IPC)机制,它允许进程通过在队列中添加和读取消息来交换数据。与管道(命名/匿名)相比,消息队列具有结构化消息、异步通信和消息持久化等特点…

mac中多版本JDK配置和切换

下载 从jdk官网下载即可,找到自己要用的版本。 官网:https://www.oracle.com/java/technologies/downloads/#jdk21-mac 我这里下载的jdk1.8和21。 根据自己芯片下载,一般都是m芯片。下载好后,点击,一直下一步就行&…

【JVM】流程汇总

【JVM】流程汇总【一】编译过程和内存分布【1】案例程序:简单的 Java 类【2】Java 编译过程:从.java到.class(1)编译命令(2)编译结果(3)字节码的作用【3】Java 运行过程:…

专业MP3瘦身工具WinMP3Shrink 1.1,绿色单文件,极速压缩

[软件名称]: 专业MP3瘦身工具WinMP3Shrink 1.1 [软件大小]: 1.1 MB [软件大小]: 夸克网盘 | 百度网盘 软件介绍 WinMP3Shrink 是一款免费的 MP3 压缩软件,能够有效减少 MP3 文件的体积,同时还能增强音质。即使不重新编码,通过移除保留空间…

LeetCode 每日一题 2025/8/4-2025/8/10

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录8/4 904. 水果成篮8/5 3477. 水果成篮 II8/6 3479. 水果成篮 III8/7 3363. 最多可收集的水果数目8/8 808. 分汤8/9 231. 2 的幂8/10 869. 重新排序得到 2 的幂8/4 904. 水果…

Python爬虫实战:研究Ruia框架,构建博客园文章采集系统

1. 引言 1.1 研究背景与意义 在数字化时代,数据已成为驱动科技创新与产业升级的核心生产要素。互联网作为全球最大的信息载体,蕴含着亿级结构化、半结构化与非结构化数据,这些数据在商业决策、学术研究、公共服务等领域具有不可替代的价值。网络爬虫技术作为自动获取网络公…

Office安装使用?借助Ohook开源工具?【图文详解】微软Office产品

一、问题背景 很多用户在使用 Office 软件一段时间后,会遇到以下问题。 二、解决方案 Ohook 是 Office 独有的可用方式,源自 GitHub 上的开源项目,代码开源(开源地址:https://github.com/asdcorp/ohook)。 …

LeetCode简单题 - 学习

力扣题库 - 简单题 - 仅记录学习 来源地址: 力扣 (LeetCode) 全球极客挚爱的技术成长平台 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你…

Android Camera 打开和拍照APK源码

完整下载路径: 【免费】AndroidcameraAPK完整源码(包括打开摄像头和拍照保存功能)Android10验证可完整运行资源-CSDN下载 效果: 源码: package com.example.mycamera;import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appco…

【系统分析师】软件需求工程——第11章学习笔记(上)

软件需求工程是包括创建和维护软件需求文档所必需的一切活动的过程。可分为两大工作:需求开发需求获取需求分析需求定义(编写需求规格说明书)需求验证需求管理定义需求基线处理需求变更需求跟踪在需求开发阶段需要确定软件所期望的用户类型&a…

机器学习第七课之支持向量机SVM

目录 简介: 一、什么是支持向量机 二、如何选取最佳的超平面 1.超平面方程 (优化目标) 2.如何寻找最优的超平面 3.举例分析 4.软间隔​编辑 三、核函数 1举例 2常用核函数 3.多项式核函数 4.高斯核函数: 四、svm的优缺点 五、支持向量机的API 六、案例…

P3232 [HNOI2013] 游走,solution

原题: link,点击这里喵。 题意: 给定一个 nnn 个点 mmm 条边的无向连通图,图无重边和自环,顶点从 111 编号到 nnn,边从 111 编号到 mmm。 小 Z 在该图上进行随机游走,初始时小 Z 在 111 号顶…

Docker容器部署discuz论坛与线上商城

准备 关闭防火墙,上下文[rootdocker ~]# systemctl disable --now firewalld[rootdocker ~]# setenforce 0下载应用yum remove runc -y ### rocky8才需要yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/cento…

Linux入门指南:26个基础命令全解析

目录 一.基础概念与入门 1.Linux操作系统简介 2.终端与shell的基本概念 3.命令行界面的优势 二.基础指令 1.whoami ​2.useradd/userdel/passwd ​3.pwd ​4.ls ​5.cd 6.touch 7.mkdir 8.tree 9.rmdir/rm 10.man 11.cp 12.mv 13.cat 14.le…

【后端】Java 8 特性 `User::getId` 语法(方法引用)介绍

文章目录核心概念解析:方法引用的四种类型:关键特性:使用场景推荐:何时避免使用:性能说明:在 Java 中, User::getId 是一种称为 方法引用(Method Reference) 的语法糖&a…

基于BP与CNN的图像分类模型构建、超参数优化及性能对比研究​

一、实验目的实验目标构建基于神经网络模型的数据分析与模式识别框架,探明神经网络在大数据分析中的意义。实验任务构建基于深度 BP 神经网络与卷积神经网络的数据分析与模式识别框架,将数据集 MNIST 与 CIFAR-10 分别在两种模型中训练,并比较…

HarmonyOS应用开发-低代码开发登录页面(超详细)

本篇文章我来手把手教大家做一个HarmonyOS 应用的登录页面,逐步讲解,非常细致,百分百能学会,并提供全部源码。页面使用 DevEco Studio 的低代码开发。 通过本文的实践经验,我想告诉大家, HarmonyOS 应用开发…

AJAX与axios框架

文章目录前言案例跨域访问总结❗前言 提示:这里可以添加本文要记录的大概内容: 通过 ajax 进行前后端交互 案例 此项目用到了javaweb知识 首先创建JavaWeb项目编写代码: package ajax;import java.io.IOException; import java.util.Arr…

智能创造的幕后推手:AIGC浪潮下看AI训练师如何塑造智能未来

文章目录一、AIGC时代的算法与模型训练概览二、算法与模型训练的关键环节三、AI训练师的角色与职责四、AI训练师的专业技能与素养五、AIGC算法与模型训练的未来展望《AI训练师手册:算法与模型训练从入门到精通》亮点内容简介作者简介谷建阳目录《医学统计学从入门到…