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-Widge | A Ribbon widget for Qt,功能初級 |
TabToolbar | A small library for creating tabbed toolbars,功能初級 |
CbersUI | QT Ribbon Plugin Framework,功能未知 |
qt-ribbon | A ribbon bar implementation for Qt widgets applications,功能未知 |
wribbon | Qt Ribbon library,功能未知 |
stripemenu | Menu tipo cinta basado en Qt ( Ribbon menu Qt-based ),功能未知 |
ribbon | SARibbon 衍生版本 |
QxRibbon 組件中關鍵的類名與其它主流的命名區別如下:
QtitanRibbon | SARibbon | BCGControls |
---|---|---|
RibbonMainWindow | SARibbonMainWindow | N/A |
RibbonBar | SARibbonBar | CBCGPRibbonBar |
RibbonPage | SARibbonCategory | CBCGPRibbonCategory |
RibbonGroup | SARibbonPanel | CBCGPRibbonPanel |
RibbonGallery | SARibbonGallery | N/A |
RibbonButton | SARibbonToolButton | CBCGPRibbonButton |
RibbonQuickAccessBar | SARibbonQuickAccessBar | CBCGPRibbonQuickAccessToolbar |
2. SARibbon
2.1 簡介
下載地址
SARibbon適用于大型軟件、工業軟件、復雜軟件的ui,在設計時參考了MFC Ribbon接口的命名風格;界面樣式參考了微軟Office系列軟件以及WPS軟件的Ribbon界面,并結合了兩者的優點。SARibbon是一個可定義多種主題風格的Ribbon控件,它能通過qss快速的定義出自己想要的主題風格.
功能:
- 針對Ribbon的布局和顯示
- 支持最小化模式,ribbon只顯示標簽(默認雙擊標簽會進行切換),支持上下文標簽tab
- 支持quickAccessBar(word快速菜單),在不同布局模式下會有不同的顯示效果
- 支持4種不同的ribbon button,普通按鈕,延遲彈出菜單按鈕,菜單按鈕,action菜單按鈕(action菜單按鈕是此ribbon控件最主要解決的問題之一)
- 支持4種不同風格的布局樣式:寬松和緊湊的三行和兩行模式
- (Qt 樣式表:Qt Style Sheets)對ribbon進行自定義設置,可實時切換主題,內置了5種不同風格的主題:win7主題,office2013主題,office2016主題,office2021主題,dark主題。
- 提供Gallery控件:Gallery 控件用于以某種布局方式展示一組圖片、圖標或者其他可視化元素,用戶可以在其中瀏覽、選擇這些元素。
- 支持超長滾動和Option Action
- 提供居中對齊模式
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的庫引入是必須的- SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1/0,此宏用來定義是否引入了QWindowkit庫
- SARIBBON_ENABLE_SNAP_LAYOUT=1/0,此宏在SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1時才有用,用于定義是否開始windows11的snap layout效果