Qt功能區:簡介與安裝

Qt功能區

  • 1. 功能區簡介
  • 2. SARibbon
    • 2.1 簡介
    • 2.2 編譯與安裝
      • 采用CMake-gui進行編譯
      • 采用VS進行編譯
      • 安裝與使用

Qt 官方不支持 Ribbon 風格(Ribbon UI 風格是微軟開創的,具有專利許可協議,許可協議對從構建 UI 的指令到每個按鈕間的空格數都做了詳細的規定。接受該協議的開發人員,必須同意嚴格遵循當前和未來的設計指南,并且不能用其開發與 MS Office 直接競爭的產品。

1. 功能區簡介

目前,市面上關于 Ribbon for Qt 的項目,有開源的,也有商用的,數量不在少數。

項目名稱簡介
QtitanRibbon一款商用的遵循 Microsoft Ribbon UI 的組件,功能高級
SARibbon一款輕量級的 Ribbon 控件,功能中級
fancyribbon一款精選的 Ribbon 控件,功能初級
QtRibbonGUI一款簡單的 Ribbon-UI,功能初級
QRibbon標準 QMenuBar 自動轉換為 Ribbon 風格,思路不錯,功能初級
Qt-Ribbon-WidgeA Ribbon widget for Qt,功能初級
TabToolbarA small library for creating tabbed toolbars,功能初級
CbersUIQT Ribbon Plugin Framework,功能未知
qt-ribbonA ribbon bar implementation for Qt widgets applications,功能未知
wribbonQt Ribbon library,功能未知
stripemenuMenu tipo cinta basado en Qt ( Ribbon menu Qt-based ),功能未知
ribbonSARibbon 衍生版本

QxRibbon 組件中關鍵的類名與其它主流的命名區別如下:

QtitanRibbonSARibbonBCGControls
RibbonMainWindowSARibbonMainWindowN/A
RibbonBarSARibbonBarCBCGPRibbonBar
RibbonPageSARibbonCategoryCBCGPRibbonCategory
RibbonGroupSARibbonPanelCBCGPRibbonPanel
RibbonGallerySARibbonGalleryN/A
RibbonButtonSARibbonToolButtonCBCGPRibbonButton
RibbonQuickAccessBarSARibbonQuickAccessBarCBCGPRibbonQuickAccessToolbar

2. SARibbon

2.1 簡介

下載地址
SARibbon適用于大型軟件、工業軟件、復雜軟件的ui,在設計時參考了MFC Ribbon接口的命名風格;界面樣式參考了微軟Office系列軟件以及WPS軟件的Ribbon界面,并結合了兩者的優點。SARibbon是一個可定義多種主題風格的Ribbon控件,它能通過qss快速的定義出自己想要的主題風格.
功能:

  1. 針對Ribbon的布局和顯示
  2. 支持最小化模式,ribbon只顯示標簽(默認雙擊標簽會進行切換),支持上下文標簽tab
  3. 支持quickAccessBar(word快速菜單),在不同布局模式下會有不同的顯示效果
  4. 支持4種不同的ribbon button,普通按鈕,延遲彈出菜單按鈕,菜單按鈕,action菜單按鈕(action菜單按鈕是此ribbon控件最主要解決的問題之一)
  5. 支持4種不同風格的布局樣式:寬松和緊湊的三行和兩行模式
  6. (Qt 樣式表:Qt Style Sheets)對ribbon進行自定義設置,可實時切換主題,內置了5種不同風格的主題:win7主題,office2013主題,office2016主題,office2021主題,dark主題。
  7. 提供Gallery控件:Gallery 控件用于以某種布局方式展示一組圖片、圖標或者其他可視化元素,用戶可以在其中瀏覽、選擇這些元素。
    在這里插入圖片描述
  8. 支持超長滾動和Option Action
  9. 提供居中對齊模式

2.2 編譯與安裝

采用CMake進行編譯。
在Windows平臺中VS2019集成了cmake的功能,可以直接在VS中進行CMake文件的操作。在使用的過程中,最好安裝最新版的cmake.VS中自帶的cmake編譯器不是最新版本,安裝最新版本后就可以將VS中的cmake編譯平臺進行更新。

采用CMake-gui進行編譯

在這里插入圖片描述再次點擊“Configure”
在這里插入圖片描述
點擊“Generate”
在這里插入圖片描述
編譯后的文件變化情況對比:
在這里插入圖片描述
在這里插入圖片描述
在每個CMakeLists.txt文件目錄下會生成VS的項目文件,打開項目文件配置后即可生成目標文件。

采用VS進行編譯

在這里插入圖片描述
打開根目錄下的CMakeLists.txt文件,在VS中將自動完成配置。
在這里插入圖片描述
右鍵“CMakeLists.txt”然后進行"生成"和“安裝”即可。得到響應的靜態庫、動態庫和案例展示。
在這里插入圖片描述
Note:在借助第三方庫再生成的動態和靜態庫中,最好采用編譯平臺直接生成。

安裝與使用

詳情參見VS中動態庫和靜態庫的使用
本項目是在VS中使用,因此有些參數需要再VS項目中預先配置。

  • 公開的預定義宏
    SARibbon在編譯過程中有些預定義宏,這些宏在基于visual studio的庫引入是必須的
    1. SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1/0,此宏用來定義是否引入了QWindowkit庫
    2. SARIBBON_ENABLE_SNAP_LAYOUT=1/0,此宏在SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1時才有用,用于定義是否開始windows11的snap layout效果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83259.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS safari和android chrome開啟網頁調試與檢查器的方法

手機開啟遠程調試教程(適用于 Chrome / Safari) 前端移動端調試指南|適用 iPhone 和 Android|WebDebugX 出品 本教程將詳細介紹如何在 iPhone 和 Android 手機上開啟網頁檢查器,配合 WebDebugX 實現遠程調試。教程包含…

Golang企業級商城高并發微服務實戰

Golang企業級商城高并發微服務實戰包含內容介紹: 從零開始講了百萬級單體高并發架構、千萬級微服務架構,其中包含Rpc實現微服務、微服務的跨語言調用jsonrpc和protobuf、protobuf的安裝、protobuf高級語法、protobuf結合Grpc實現微服務實戰、微服務服務…

實現可靠的 WebSocket 連接:心跳與自動重連的最佳實踐

概覽 本文將手把手教你如何從零編寫一個可用于直播或在線聊天的 WSocket 類,依次實現連接建立、心跳檢測、斷線重連、消息收發以及資源清理等功能。我們將結合 WebSocket API 的標準用法、心跳保持 和 重連策略,并充分運用現代 JavaScript 語法&#xf…

UEFI Spec 學習筆記---33 - Human Interface Infrastructure Overview(1)

33 - Human Interface Infrastructure Overview 本章節主要用于介紹Human Interface Infrastructure(HII)架構介紹,描述如何通過 HII 來管理用戶的輸入,以及描述在 UEFI spec 中涉及 HII 相關的 Protocol、function 和類型定義。…

ip命令詳解

控制網卡的硬件狀態 ip link set ens36 down ip link set ens36 up 修改網卡名稱(臨時) ip link set ens36 down ip link set ens36 name xxx 修改網卡的mac地址 ip link set ens36 down ip link set xxx name ens36 查看ip的addr ip addr show ip ad…

hadoop中了解yarm

Hadoop中的YARN(Yet Another Resource Negotiator)是一種新的Hadoop資源管理器,是一個通用資源管理系統,可為上層應用提供統一的資源管理和調度。以下是其相關介紹: 核心思想 將JobTracker的資源管理和作業調度/監控功…

做好的QT軟件,換一個筆記本打開后發現字體很小,部分字體還被控件遮擋

出現這種情況的原因主要是屏幕的DPI(每英寸點數)不同。Qt中控件的大小單位為像素,在高DPI下,控件會變小,低DPI下控件會變大。而Qt中字體的單位默認為磅,無論在什么顯示器上顯示同一磅值的字體,其…

linux - 權限的概念

目錄 用戶權限 超級用戶與普通用戶的區別 超級用戶(root): 普通用戶: 切換用戶身份 使用sudo執行高權限命令 用戶管理 用戶組管理 文件權限 文件訪問者類別 基本權限 權限表示方法 權限修改 chmod chown chgrp u…

Python函數返回值的藝術:為何True/False是更優實踐及例外情況分析

在Python編程實踐中,子程序的返回值設計往往是一個容易被忽視但卻至關重要的設計決策。本文將深入探討為什么返回True/False往往是更好的選擇,何時應該避免這種做法,以及如何處理與None值相關的問題。 為什么返回True/False是更好的實踐&…

STM32單片機內存分配詳細講解

單片機的內存無非就兩種,內部FLASH和SRAM,最多再加上一個外部的FLASH拓展。在這里我以STM32F103C8T6為例子講解FLASH和SRAM。 STM32F103C8T6具有64KB的閃存和20KB的SRAM。 一. Flash 1.1 定義 非易失性存儲器,即使在斷電后,其所…

【Tools】Visual Studio使用經驗介紹(包括基本功能、遠程調試、引入第三方庫等等)

這里寫目錄標題 1. VS基本使用1.1. 快捷鍵1.2. 查看變量地址1.3. 查看代碼匯編1.4. visual studio 熱重載功能的使用1.5. vs遠程服務器調試1.6. 引入第三方庫VLD1.7. release debug模式 1. VS基本使用 1.1. 快捷鍵 ctrl c :復制光標所在行 注意:只需要光標在這…

網絡爬蟲學習之httpx的使用

開篇 本文整理自《Python3 網絡爬蟲實戰》,主要是httpx的使用。 筆記整理 使用urllib庫requests庫的使用,已經可以爬取絕大多數網站的數據,但對于某些網站依然無能為力。 這是因為這些網站強制使用HTTP/2.0協議訪問,這時urllib和r…

Python內存管理:賦值、淺拷貝與深拷貝解析

賦值與共享資源 在Python中,直接賦值操作(如 list2 list1)會導致兩個變量共享同一個內存地址。這意味著對 list1 的修改會直接影響到 list2,因為它們指向同一個對象。 注意: 賦值等于完全共享資源 如果我們不希望這樣完全共享&…

CentOS7原有磁盤擴容實戰記錄(LVM非LVM)【針對GPT分區】

一、環境 二、命令及含義 fdisk ????fdisk?是一個較老的分區表創建和管理工具,主要支持MBR(Master Boot Record)格式的分區表。MBR分區表支持的硬盤單個分區最大容量為2TB,最多可以有4個主分區。fdisk通過命令行界面進行操…

獲取相機圖像(ROS2)

文章目錄 前言一、獲取筆記本自帶相機圖像1.打開終端2.安裝usb-cam功能包3.啟動相機節點4.再打開一個終端5.啟動rqt查看圖像(1)方法一:點擊窗口選項,打開圖像話題(2)方法二:使用命令行,直接打開圖像話題 二、獲取USB相機圖像總結 …

Go 語言中接口類型轉換為具體類型

類型轉換方法 在 Go 語言中,將接口類型轉換為具體類型主要有以下幾種方法: 1. 類型斷言(Type Assertion) var i interface{} "hello"// 基本形式 s : i.(string) // 將接口i轉換為string類型 fmt.Println(s) // 輸…

ES C++客戶端安裝及使用

介紹 Elasticsearch , 簡稱 ES ,它是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格接口,多數據源&…

力扣-94.二叉樹的中序遍歷

題目描述 給定一個二叉樹的根節點 root &#xff0c;返回 它的 中序 遍歷 。 class Solution { public:void inorder(TreeNode* root, vector<int>& res){//C這里&一定要加if(!root)return;inorder(root->left,res);res.push_back(root->val);inorder(ro…

《大模型微調實戰:Llama 3.0全參數優化指南》

全參數微調&#xff08;Full Parameter Fine-Tuning&#xff09;是推動大模型適應垂直領域任務的核心技術&#xff0c;尤其對于Llama 3.0這類千億級參數模型而言&#xff0c;其性能優化與場景適配能力直接決定了實際應用價值。然而&#xff0c;全參數微調面臨計算成本高、內存占…

張 提示詞優化(相似計算模式)深度學習中的損失函數優化技巧

失函數的解釋 損失函數代碼解析 loss = -F.log_softmax(logits[