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风格界面?](https://zhuanlan.zhihu.com/p/347945032) \[2\]

相关推荐
Morwit32 分钟前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
金色熊族5 小时前
解析QTransform的用法
qt
追烽少年x7 小时前
Qt多线程编程:QThread与QtConcurrent的对比与应用
qt
小短腿的代码世界1 天前
Qt实时盈亏计算深度解析:从持仓数据到动态盈亏展示
开发语言·qt
Python私教1 天前
GenericAgent PySide6 桌面应用深度解析:悬浮按钮 + 聊天面板的原生 Qt 方案
开发语言·数据库·qt
用户805533698031 天前
现代Qt开发教程(新手篇)1.11——定时器
c++·qt
小短腿的代码世界1 天前
Qt券商接口封装深度解析:统一API设计与多源适配
开发语言·qt·单元测试
T0uken1 天前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
Ulyanov1 天前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
Ulyanov1 天前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:QML 声明式语法与霓虹按钮 —— 当 Python 遇见现代美学
开发语言·python·ui·qml·系统仿真·雷达电子对抗仿真