PCL实战项目-软件界面搭建RibbonUI

目录

    • [1 Ribbon简介](#1 Ribbon简介)
    • [2 RibbonUI项目](#2 RibbonUI项目)
    • [3 编译使用](#3 编译使用)

关键词

1 Ribbon简介

Ribbon是一种以面板及标签页为架构的用户界面。相当于它是一个收藏了命令按钮和图标的面板(把命令组织成一组"标签",每一组包含了相关的命令。每一个应用程序都有一个不同的标签组,展示了程序所提供的功能。在每个标签里,各种的相关的选项被组在一起)用到ribbon风格相关产品有:Microsoft Office 2007组件,Windows 7中,画图和写字板,以及Windows 8中的资源管理器。

2 RibbonUI项目

RibbonUI 是一个轻量级、简约和优雅的 Qt 组件库,并参考 Microsoft Ribbon 样式进行设计。项目Qt6或Qt5.15.2,支持Windows、MacOS和Linux跨平台使用。个人比较喜欢这个项目,还有一个叫SARibbon,两个项目源码连接放在下方。

1.https://github.com/mentalfl0w/RibbonUI

2.https://github.com/czyt1988/SARibbon

3 编译使用

  • 安装前

    安装 Qt 6,建议通过官方在线安装程序安装 Qt 6.8.2 版本, 通过 brew 等安装可能会出现问题 。需要 Qt Quick 相关模块和 qt5compat qtshadertools qtimageformats 组件

  • 编译示例和库

    克隆并进入库文件夹

cpp 复制代码
git clone https://github.com/mentalfl0w/RibbonUI.git --recursive
cd RibbonUI
  • 创建并进入构建文件夹
cpp 复制代码
mkdir build
cd build
  • 构建
cpp 复制代码
#if you want to make a Debug build, just let -DCMAKE_BUILD_TYPE=Debug, --config Debug
# if you want a static build, add -DRIBBONUI_BUILD_STATIC_LIB=ON into command
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/Users/runner/work/RibbonUI/Qt/6.8.2/macos -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
 # -DCMAKE_PREFIX_PATH={YOUR QT INSTALL FOLDER}
cmake --build . --target all --config Release --parallel
  • 运行或部署

在另一个系统上,您可以在构建过程后直接启动应用程序,而如果您想单击运行,则必须使用 Qt bin 目录中的 windeployqt.exe 首先在 Windows 上部署所需的库,而不是通过 Qt Creator。

cpp 复制代码
#in the build folder
cd app\release
C:\Qt\6.8.2\mingw_64\bin\windeployqt.exe --qmldir C:\Qt\6.8.2\mingw_64\qml .\RibbonUI-APP.exe
#"--qmldir" is essential.

我编译参考了作者的示例项目RibbonTemplate,编译界面如下:

参考文献

1 怎样才能开发出Office同款Ribbon风格界面?

2 https://github.com/mentalfl0w/RibbonUI

相关推荐
丰锋ff4 小时前
3.1 Qt事件之事件处理器
开发语言·qt
反转180度6 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
我不是疯子是傻子8 小时前
Qt CAN通信周期发送抖动?实测定时器精度校准与时间戳补偿方案
开发语言·数据库·qt
2023自学中9 小时前
Qt 简易聊天室(第二篇),单线程 改为 多线程,方便后续增加文件传输功能
c++·qt
丰锋ff14 小时前
1.7在Qt窗口中添加右键菜单
开发语言·qt
richard_yuu18 小时前
JSON vs XML vs 二进制:3种序列化终极选型
xml·c++·qt·学习·json
秋田君18 小时前
QT_实战TCP 聊天程序说明文档以及实现
数据库·qt·tcp/ip
byxdaz1 天前
QT中服务使用
开发语言·qt
秋田君2 天前
QT_网络编程体系
网络·arm开发·qt
Quz2 天前
QML TextArea 实战(下):大文本加载与性能优化
qt