Qt功能區:Ribbon控件

控件

  • 1. 按鈕
    • 1.1 多選按鈕
    • 1.2
  • 2. 下拉列表框SARibbonComboBox
    • 2.1 簡介
    • 2.2 代碼實現

1. 按鈕

1.1 多選按鈕

軟件功能:用于實現Category的名稱居中。
SARibbonCheckBox繼承于QCheckBox,使用方法完全相同。

SARibbonCheckBox* checkBox = new SARibbonCheckBox(this);checkBox->setText(tr("Alignment Center"));checkBox->setObjectName("checkBoxAlignmentCenter");checkBox->setWindowTitle(checkBox->text());pannelStyle->addSmallWidget(checkBox);connect(checkBox, &SARibbonCheckBox::stateChanged, this, [=](int state) {if (state == static_cast<int>(Qt::Checked)) {ribbonBar()->setRibbonAlignment(SARibbonAlignment::AlignCenter);}else {ribbonBar()->setRibbonAlignment(SARibbonAlignment::AlignLeft);}});

在這里插入圖片描述

1.2

Ribbon中的按鈕采用QAction類來實現。

2. 下拉列表框SARibbonComboBox

2.1 簡介

實現功能:設置程序窗口的樣式
窗口的樣式為枚舉類型:

enum class SARibbonTheme
{RibbonThemeOffice2013,      ///< office2013主題RibbonThemeOffice2016Blue,  ///< office2016-藍色主題RibbonThemeOffice2021Blue,  ///< office2021-藍色主題RibbonThemeWindows7,        ///< win7主題RibbonThemeDark,            ///< 暗色主題RibbonThemeDark2
};

SARibbonComboBox直接繼承于QComboBox,并沒有添加什么函數
在這里插入圖片描述

 * @brief QComboBox的Ribbon顯示,可以顯示QIcon和windowTitle在左側*/
class SA_RIBBON_EXPORT SARibbonComboBox : public QComboBox
{Q_OBJECT
public:explicit SARibbonComboBox(QWidget *parent = nullptr);~SARibbonComboBox();
};

2.2 代碼實現

//設置下拉列表框mComboboxRibbonTheme = new SARibbonComboBox();mComboboxRibbonTheme->setWindowTitle(tr("RibbonTheme"));mComboboxRibbonTheme->setObjectName("RibbonTheme");mComboboxRibbonTheme->addItem("Theme Win7", static_cast<int>(SARibbonTheme::RibbonThemeWindows7));mComboboxRibbonTheme->addItem("Theme Office2013", static_cast<int>(SARibbonTheme::RibbonThemeOffice2013));mComboboxRibbonTheme->addItem("Theme Office2016 Blue", static_cast<int>(SARibbonTheme::RibbonThemeOffice2016Blue));mComboboxRibbonTheme->addItem("Theme Office2021 Blue", static_cast<int>(SARibbonTheme::RibbonThemeOffice2021Blue));mComboboxRibbonTheme->addItem("Theme Dark", static_cast<int>(SARibbonTheme::RibbonThemeDark));mComboboxRibbonTheme->addItem("Theme Dark2", static_cast<int>(SARibbonTheme::RibbonThemeDark2));mComboboxRibbonTheme->setCurrentIndex(mComboboxRibbonTheme->findData(static_cast<int>(ribbonTheme())));pannelStyle->addSmallWidget(mComboboxRibbonTheme);connect(mComboboxRibbonTheme,QOverload< int >::of(&SARibbonComboBox::currentIndexChanged),  //信號重載,Overload 是一個模板類,用于顯式指定要連接的信號或槽的參數類型,從而消除歧義this,[=](int index) {SARibbonTheme t = static_cast<SARibbonTheme>(index);setRibbonTheme(t);});

在這里插入圖片描述

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

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

相關文章

一個由微軟開源的 Python 工具,用于將多種文件格式轉換為 Markdown 格式

&#x1f4da; Markitdown 由微軟開源的 Python 工具&#xff0c;用于將多種文件格式轉換為 Markdown 格式 支持&#xff1a;PDF、PowerPoint、Word、Excel、圖像、音頻、HTML、文本格式&#xff08;CSV、JSON、XML&#xff09;、ZIP 文件的轉換。 它旨在提供一個簡單且靈活的…

Linux的進程概念

目錄 1、馮諾依曼體系結構 2、操作系統(Operating System) 2.1 基本概念 2.2 目的 3、Linux的進程 3.1 基本概念 3.1.1 PCB 3.1.2 struct task_struct 3.1.3 進程的定義 3.2 基本操作 3.2.1 查看進程 3.2.2 初識fork 3.3 進程狀態 3.3.1 操作系統的進程狀態 3.3…

export和import的書寫方式

一、導出模塊&#xff08;export&#xff09; 1. 命名導出&#xff08;Named Exports&#xff09; // math.js export const PI 3.14159; // 導出單個常量 export function sum(a, b) { return a b; } // 導出單個函數 export class Calculator { /* ..…

HOW - 結合 AI 進行 Tailwind 樣式開發

文章目錄 情況 1&#xff1a;使用 Tailwind CSS 與手寫傳統 CSS 的開發效率對比情況 2&#xff1a;AI Tailwind 自動生成 UI 的效率如何&#xff1f;總結 在 WHAT - Tailwind 樣式方案&#xff08;不寫任何自定義樣式&#xff09; 中我們已經簡單介紹過 Tailwind。今天主要認識…

java面試每日一背 day1

1.什么是緩存穿透 緩存穿透是指查詢一個數據庫中根本不存在的數據&#xff0c;導致這個查詢請求繞過緩存直接訪問數據庫的情況。這種情況如果頻繁發生&#xff0c;會對數據庫造成不必要的壓力。 典型特征&#xff1a; &#xff08;1&#xff09;查詢的數據在數據庫和緩存中都…

ngx_http_realip_module 模塊概述

一、使用場景 日志記錄 記錄真實客戶端 IP 而非反向代理的 IP&#xff0c;有助于流量分析和安全審計。訪問控制 基于真實 IP 實現防火墻規則&#xff08;allow/deny&#xff09;或限流&#xff0c;而非誤將上游 IP 視為客戶端。GeoIP、WAF、限速等功能 模塊化的上游真實 IP 支…

實戰5:個性化數字藝術生成與銷售

盈利思路 數字藝術銷售&#xff1a; 平臺銷售&#xff1a;將生成的數字藝術作品上傳到像OpenSea、Foundation等NFT平臺進行售賣。每一件獨特的藝術品可以通過NFT技術保證其唯一性&#xff0c;吸引收藏家和投資者。 定價策略&#xff1a;根據作品的復雜度、創意性以及市場需求來…

游戲引擎學習第303天:嘗試分開對Y軸和Z軸進行排序

成為我們自己的代碼精靈α 所以現在應該可以正常使用了。不過&#xff0c;這兩周我們沒辦法繼續處理代碼里的問題&#xff0c;而之前留在代碼里的那個問題依然存在&#xff0c;沒有人神奇地幫我們修復&#xff0c;這讓人挺無奈的。其實我們都希望有個神奇的“代碼仙子”&#…

InetAddress 類詳解

InetAddress 類詳解 一、核心作用 封裝 IP 地址&#xff1a;同時支持 IPv4 和 IPv6 地址域名解析&#xff1a;將域名轉換為 IP 地址&#xff08;DNS 查詢&#xff09;地址驗證&#xff1a;檢查網絡地址的有效性無構造方法&#xff1a;通過靜態工廠方法獲取實例 二、核心方法 …

spring cloud alibaba-Geteway詳解

spring cloud alibaba-Gateway詳解 Gateway介紹 在 Spring Cloud Alibaba 生態系統中&#xff0c;Gateway 是一個非常重要的組件&#xff0c;用于構建微服務架構中的網關服務。它基于 Spring Cloud Gateway 進行擴展和優化&#xff0c;提供了更強大的功能和更好的性能。 Gat…

iOS 直播技術及優化

iOS直播技術的實現和優化涉及多個技術環節&#xff0c;需結合協議選擇、編解碼方案、播放器技術及性能調優等多方面。 一、核心技術實現 協議選擇與傳輸優化 HLS&#xff08;HTTP Live Streaming&#xff09;&#xff1a;蘋果官方推薦&#xff0c;基于HTTP分片傳輸&#xff0c…

目標檢測135個前沿算法模型匯總(附源碼)!

目標檢測是計算機視覺核心方向之一&#xff0c;也是發論文的熱門領域&#xff01; 近來不僅YOLO算法迎來了新突破&#xff0c;迭代出YOLOv12&#xff01;Mamba、大模型等新技術的發展&#xff0c;也給該領域注入了全新的力量&#xff0c;取得了諸多顯著成果。比如性能飆升82.3…

期刊采編系統安裝升級錯誤

我們以ojs系統為例&#xff1a; PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /esci/data/html/classes/install/Upgrade.inc.php:1019 Stacktrace: #0 /esci/data/html/lib/pkp/classes/install/Installer.inc.php(415): Upgrade->con…

淺談無服務器WebSocket的優勢

實際上&#xff0c;一個實用的解決方案是將構建業務關鍵型實時平臺的復雜性卸載到專門的云服務中。 完全托管的無服務器 WebSocket 解決方案為事件驅動的消息傳遞提供了基礎結構;它使底層基礎設施成為一種商品。客戶端使用提供程序服務發送/接收低延遲消息&#xff0c;并專注于…

Python數據可視化高級實戰之二——熱力圖繪制探究

目錄 一、熱力圖的作用 二、熱力圖反映的信息類型 三、熱力圖的典型應用場景 1. 地球信息系統 (GIS) 2. 城市交通分析 3. 市場分析 4. 用戶行為分析 5. 網絡流量分析 6. 傳染病傳播分析 7. 社交媒體輿情分析 四、Python 繪制熱力圖的關鍵技術要點 1. 數據預處理 2. 顏色選擇與漸…

配電網運行狀態綜合評估方法研究

1評估指標體系的構建 [1]冷華,童瑩,李欣然,等.配電網運行狀態綜合評估方法研究[J].電力系統保護與控制,2017,45(01):53-59. 1.1評估范圍 圖1為配電系統組成示意圖&#xff0c;其中A、B、C分別表示高、中、低壓配電系統。高壓配變(也稱主變)將35kV或110kV的電壓降到10kV&#…

Docker安裝MinIO對象存儲中間件

MinIO 是一個高性能、分布式的對象存儲系統&#xff0c;兼容 Amazon S3 云存儲服務協議&#xff0c;廣泛應用于企業存儲、大數據、機器學習和容器化應用等領域。以下是詳細介紹&#xff1a; 核心特點 兼容 S3 API &#xff1a;全面兼容 Amazon S3 API&#xff0c;這意味著使用…

HTML回顧

html全稱:HyperText Markup Language(超文本標記語言) 注重標簽語義,而不是默認效果 規則 塊級元素包括: marquee、div等 行內元素包括: span、input等 規則1:塊級元素中能寫:行內元素、塊級元素(幾乎什么都能寫) 規則2:行級元素中能寫:行內元素,但不能寫:塊…

JAVA Spring MVC+Mybatis Spring MVC的工作流程*,多表連查

目錄 注解總結 將傳送到客戶端的數據轉成json數據 **描述一下Spring MVC的工作流程** 1。屬性賦值 BeanUtils.copyProperties(addUserDTO,user); 添加依賴&#xff1a; spring web、mybatis framework、mysql driver Controller和ResponseBody優化 直接改成RestControl…

H2數據庫中一條insert語句到生成java對象到數據寫入磁盤的完整步驟

H2 數據庫將 SQL 語句轉換為磁盤存儲的全過程可以分為以下 8 個關鍵步驟&#xff0c;我們以 INSERT INTO users (id, name) VALUES (1, Alice) 為例詳細說明&#xff1a; 1. SQL 解析與語法樹生成 詞法分析&#xff1a;拆分語句為 INSERT、INTO、users 等 Token語法分析&#…