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
英文地址,請注明出處:http://en.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訓練師手冊:算法與模型訓練從入門到精通》亮點內容簡介作者簡介谷建陽目錄《醫學統計學從入門到…