当前位置: 首页 > ops >正文

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.xdnf.cn/news/6108.html

相关文章:

  • JS中本地存储(LocalStorage)和会话存储(sessionStorage)的使用和区别
  • vscode - 笔记
  • Deep Learning(手写字识别 - CNN)
  • Python算法思想
  • 企业级IP代理解决方案:负载均衡与API接口集成实践
  • 【导航信号模拟器】【MATLAB APP】MATLAB AppDesigner基本使用教程
  • DA14531如何在固件中生成与时间相关的mac和版本号
  • react+html-docx-js将页面导出为docx
  • 没经过我同意,flink window就把数据存到state里的了?
  • Java 大视界——Java 大数据在智慧交通智能停车诱导系统中的数据融合与实时更新
  • 命令行快速上传文件到SFTP服务器(附参考示例)
  • 灰度图像和RGB图像在数据大小和编码处理方式差别
  • lanqiaoOJ 652:一步之遥 ← 扩展欧几里得定理
  • ESP32-S3R8 使能PSRAM内存
  • 【嵌入式笔记】Modbus TCP
  • 鬼泣:蓄力攻击总结
  • 《AI大模型应知应会100篇》第63篇:AutoGPT 与 BabyAGI:自主代理框架探索
  • 计算机网络:怎么理解调制解调器的数字调制技术?
  • 《AI驱动的智能推荐系统:原理、应用与未来》
  • Java面试八股Spring篇(4500字)
  • 某某霸翻译逆向分析[JS逆向]
  • 计算机系统概述——了解冯诺伊曼 CPI相关公式
  • 基于Qt的OSG三维建模
  • 【Redis实战篇】秒杀优化
  • 使用 hover-class 实现触摸态效果 - uni-app 教程
  • 数字信号处理-大实验1.2
  • 一文掌握六个空转数据库
  • 编译支持CUDA-aware的OpenMPI
  • 数字化转型 - 标准化
  • MySQL锁机制全面解析:从原理到实践的死锁防治指南