QT菜单样式Ribbon Control for Qt, Office ribbon control

news/2024/12/5 5:50:10/

基于Qt(最低要求Qt5,支持C++11的编译器)开发的一个轻量级的Ribbon控件(Office样式UI)

使用Qt Creator直接打开SARibbon.pro,并编译即可,会编译出SARibbonBar库和一个(目前只有一个例子)例子,lib和例子的目录位于bin_qt{Qt版本}_{debug/release}_{32/64}目录下

 Ribbon是把菜单栏和工具栏合并了,并通过一个tab控件进行展示,SARibbon在设计时参考了MFC Ribbon接口的命名风格,标签页称之为Category(种类),每个Category下面有多个pannel(面板),面板下面才是具体的toolbutton,其层次结构如下图所示,这些命名参考了MFC的ribbon界面类

 

SARibbon样式

SARibbon支持4种ribbon样式进行切换,这里参考了office的ribbon风格和wps的ribbon风格 通过void SARibbonBar::setRibbonStyle(RibbonStyle v)可实现在线的样式切换

Office Ribbon 样式

office模式是最常见的ribbon模式,tab和标题栏占用位置较多。

此模式和Office的Ribbon样式一致,office的word界面截图如下

 

SARibbon的自定义功能

ribbon的自定义是ribbon的一个特色,参考了office和wps的自定义界面,用户可以为自己的ribbon定义非常多的内容,甚至可以定义出一个完全和原来不一样的界面。

以下是office的自定义界面

以下是wps的自定义界面

 

 

参考:

SARibbon: Ribbon Control for Qt,Office ribbon control。office ribbon菜单样式的qt实现,支持office样式、wps样式等不同风格的ribbon ui切换,可通过qss自定义自己的风格


http://www.ppmy.cn/news/57347.html

相关文章

Debezium系列之:处理decimal数据类型org.apache.kafka.connect.data.Decimal

Debezium系列之:处理decimal数据类型org.apache.kafka.connect.data.Decimal 一、背景二、Debezium处理decimal数据类型三种方式三、precise方式字段类型和数据样式四、使用代码处理Decimal数据一、背景 源库id字段类型是DECIMAL[(M[,D])],id的值是2debezium采集后数据类型变…

构建第一个Android交互式应用

大多数应用都需要以某种方式响应用户,怎样让你的应用更有交互性,就是这篇文章的内容。 你将看到如何让应用响应用户,另外如何让活动和布局像好朋友一样交谈。在这个过程中还会介绍R,带你更深入地了解Android具体如何工作&#xff…

进程地址空间与页表方面知识点(缺页中断及写时拷贝部分原理)

谢谢阅读,如有错误请大佬留言!! 目录 谢谢阅读,如有错误请大佬留言!! 抛出总结 开始介绍 发现问题 进程地址空间(虚拟地址) 页表 物理内存与进程地址空间映射 缺页中断基本…

LidarMultiNet:在单个多任务网络中统一LiDAR语义分割、三维目标检测和全景分割

Abstract 这份技术报告介绍了2022年Waymo开放数据集3D语义分割挑战赛的第一名获奖解决方案。我们的网络称为LidarMultiNet,将主要的LiDAR感知任务(例如3D语义分割、目标检测和全景分割)统一在一个框架中。 LidarMultiNet的核心是一个强大的基于3D体素的编码器-解码器网络,…

Fiddler抓包工具常见功能介绍,还不会的进来看

目录 Fiddler的功能面板 一、Statistics数据统计面板,性能分析 二、Inspectors查看请求与响应 三、Filters过滤器 1、User Filters启用 2、Action 3、过滤器实际应用 四、AutoResponder请求重定向 1、什么是请求重定向? 2、为什么要用这个功能&…

CleanMyMac X4.13.2最新版下载

现在cleanmymac x4.13.2中文版是大家首选的优秀mac清理软件。CleanMyMac集合了多种功能,几乎可以满足用户所有的清洁需求。它不仅包含各种清理功能,还具有卸载、维护、扩展、碎纸机等实用功能,可同时替代多种工具。它可以清理、优化、维护和监…

three.js进阶之动画系统

我曾在three.js进阶之骨骼绑定文章中提到了AnimationMixer、AnimationAction等内容,其实这些应该属于Three.js的动画系统,本文就系统的介绍一下动画系统(Animation System)。 前言 一般情况下,我们很少会使用three.j…

[Eigen中文文档] 编译器对堆栈对齐做出了错误的假设

文档总目录 本文目录 局部解决方案全局解决方案 英文原文(Compiler making a wrong assumption on stack alignment) 这是 GCC 的错误,已在 GCC 4.5 中修复。如果遇到此问题,请升级到 GCC 4.5 。 到目前为止,我们只在 Windows 上遇到过 GC…