Qt功能区:简介与安装

Qt功能区

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快速的定义出自己想要的主题风格.

功能:

  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效果
相关推荐
belldeep1 小时前
如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?
c语言·开发语言
LuckyTHP1 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
mahuifa3 小时前
(7)python开发经验
python·qt·pyside6·开发经验
Blossom.1184 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
da-peng-song4 小时前
ArcGIS Desktop使用入门(二)常用工具条——数据框工具(旋转视图)
开发语言·javascript·arcgis
galaxy_strive4 小时前
qtc++ qdebug日志生成
开发语言·c++·qt
等等5435 小时前
Java EE初阶——wait 和 notify
java·开发语言
低代码布道师6 小时前
第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
开发语言·javascript·node.js
盛夏绽放6 小时前
Python字符串常用方法详解
开发语言·python·c#