QxRibbon 是一款 Microsoft Ribbon for Qt 组件,最初是基于 SARibbon 演变而来,同时,也参考借鉴了 QtitanRibbon、BCGControls 等诸多 ribbon 风格组件的优秀功能/想法。
关于 QxRibbon 名字的由来,先抱怨一下,起名字真是一件伤脑筋的事……
最初,仓库名叫 qtribbon,类名以 QRibbon 作为前缀。是的,大言不惭的参考了 Qt 源代码的命名方式,有一种 Qt 出品的感脚。后来,写着写着,发现能力不行、代码太烂,还是重新起个名字吧。。
于是,以 A-Z 这 26 个字母依次加到 Ribbon 前面看哪个更好看、更有意义,如下一些名字差点入选:
以上落选还有一点原因就是:体现不出 for Qt
我们知道,Qt 官方不支持 Ribbon 风格(Ribbon UI 风格是微软开创的,具有专利许可协议,许可协议对从构建 UI 的指令到每个按钮间的空格数都做了详细的规定。接受该协议的开发人员,必须同意严格遵循当前和未来的设计指南,并且不能用其开发与 MS Office 直接竞争的产品。据说微软已停用了协议授权,当前在未经授权的情况下,开发和使用 Ribbon 风格控件算不算侵权,存疑。。)
for Qt 像是 Qt + X(X 代表 Qt 没有的)的意思,想到这,那就叫 Q+Ribbon 吧……
好了,+ 肯定不行,那就改乘(x)吧(+旋转45°),于是就叫 QxRibbon,这样以后说不定还能做成一个系列,即 Qt x Others
目前,市面上关于 Ribbon for Qt 的项目,有开源的,也有商用的,数量不在少数,下面罗列一些:
微软的 Ribbon 命名空间:System.Windows.Controls.Ribbon
QxRibbon 组件中关键的类名与其它主流的命名区别如下:
QxRibbon | QtitanRibbon | SARibbon | BCGControls |
---|---|---|---|
RibbonWindow | RibbonMainWindow | SARibbonMainWindow | N/A |
RibbonBar | RibbonBar | SARibbonBar | CBCGPRibbonBar |
RibbonPage | RibbonPage | SARibbonCategory | CBCGPRibbonCategory |
RibbonGroup | RibbonGroup | SARibbonPanel | CBCGPRibbonPanel |
RibbonGallery | RibbonGallery | SARibbonGallery | N/A |
RibbonButton | RibbonButton | SARibbonToolButton | CBCGPRibbonButton |
RibbonQuickAccessBar | RibbonQuickAccessBar | SARibbonQuickAccessBar | CBCGPRibbonQuickAccessToolbar |
备注:
具体支持情况:
1)平台支持
平台 | Windows | MacOS | Linux/X11 | Linux/Wayland | 备注 |
---|---|---|---|---|---|
版本 | 10 | openEuler 23.03/GNOME 43.2 | |||
Qt5Widgets | √ | √ | |||
QtDesinger | |||||
Qt5Quick | |||||
PyQt5 | √ | Python 3.9 | |||
PySide2 |
2)构建支持
构建方式 | 支持 | 测试版本 |
---|---|---|
qmake | √ | |
cmake | √ | 3.19.2 |
3)Qt 版本支持
下面提供的支持是经过测试的,未提供的不代表不支持。
Qt4 | Qt5 | Qt6 | Qt7 | |
---|---|---|---|---|
6.5.1 | √ | |||
5.15.2 | √ | |||
5.8.0 | √ | |||
4.8.6 | × |
/**
* Copyleft (C) YYYY NAME EMAIL
* Copyleft (C) 2023 maminjie <canpool@163.com>
* SPDX-License-Identifier: MIT
**/
虚位以待中……
欢迎广大 Qt 开源爱好者加入其中,乐在其中……
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。