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\]

相关推荐
hqwest26 分钟前
码上通QT实战15--监控页面07-打开串口连接
开发语言·qt·多线程·signal·slot·emit·信号和槽
CS Beginner2 小时前
【单片机】嵌入式显示屏开发框架:QT、SDL、LVGL 深度解析
单片机·嵌入式硬件·qt
金色熊族2 小时前
MV结构下设置Qt表格的代理(2)
c++·qt
Morwit3 小时前
Qt qml创建c++类的单例对象
开发语言·c++·qt
YxVoyager3 小时前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
qq_401700413 小时前
QStackedLayout 实现遮罩层
qt
Larry_Yanan3 小时前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
weixin_462446233 小时前
Python 使用 PyQt5 + Pandas 实现 Excel(xlsx)批量合并工具(带图形界面)
python·qt·pandas
不会c嘎嘎4 小时前
QT中的常用控件(五)
服务器·开发语言·qt
一只小bit4 小时前
Qt 重要控件:多元素控件、容器类控件及布局管理器
前端·c++·qt