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

相关推荐
Junfeng的技术笔记4 小时前
基于 C++/Qt 的雷达回波信号检测与测距仿真系统
qt
Quz4 小时前
QML TableView:自定义样式与排序表格
qt
Quz4 小时前
QML TableView:可编辑表格与 SQLite 数据持久化
qt·sqlite
Quz4 小时前
QML ListView:C++ 数据模型与 ProxyModel 实时过滤
qt
Quz4 小时前
QML ListView 入门:自定义样式与数据交互
qt
cpp_learner4 小时前
QT 隐藏式密码鉴权:一键开启管理员模式
qt
慧都小项6 天前
当边缘AI上产线:QtitanDocking 如何让工业 HMI 实现多视图协同
人工智能·qt·ui·边缘计算·qt6.3
Quz6 天前
QML SwipeDelegate 滑动委托
qt
Quz6 天前
QML 列表中的四种委托:ItemDelegate、CheckDelegate、RadioDelegate、SwitchDelegate
qt
实心儿儿6 天前
Qt — 显示类控件
qt