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-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效果