首页| 论坛| 消息
主题:QRibbon 菜单栏
gnibuoz发表于 2020-06-27 11:32
QRibbon
      Qt 实现的 Ribbon 风格菜单栏,基本思路是定制QTabWidget,通过QSS(样式表)实现显示样式的调整,QRibbon的原则是尽量不侵入正常业务逻辑的开发,所以在开发基于QMainWindow的程序时,可以按照正常的开发流程创建界面,创建普通的菜单栏以及菜单项及其信号槽关联,最后调用QRibbon::install(&mainWindow)函数即可自动创建出与QMainWindow原有QMenuBar相对应的Ribbon...
使用方法
正常创建QMainWindow为QMainWindow添加菜单和菜单项(建议为所有菜单项都添加合适的图标,这样最终QRibbon就可以直接使用菜单项的图标作为按钮图标)将QRibbon库相关的所有文件添加至工程构造完成主界面后,调用如下代码即可实现QRibbon的添加:
                QRibbon::install(&mainWindow);

使用QRibbon::install(window)前后效果对比:

已将代码上传至github,记得fork+star[酷]: https://github.com/gnibuoz/QRibbon

        先上个效果图,后续更详细的实现过程,实现思路主要是重新实现一个QMenuBar 类,然后直接在QMainWindow的上将原有QMenuBar提升为自定义的RibbonBar,并直接从QMainWindow的QMenuBar里边获取菜单内容,自动构建Ribbon栏,这样实现的好处对用户的业务开发流程没有太大的侵入,用户完全可以在QMainWindow界面上实现各种信号/槽关联,事件响应,最后直接将原有的MenuBar提升为实现的类就可以了,后续有空再更新实现过程,整体还是比较简单的,基本是用QTabWidget+QToolButton实现的,期间遇到一些坑,配色什么的直接从word里边截图,然后用PS取得色。

原文链接:https://blog.csdn.net/gnibuoz/article/details/105970328源码放在GitHub上了,喜欢的记得Fork+Star,后面一段时间内应该会持续在GitHub上更新
————————————————
版权声明:本文为CSDN博主「星天阁主」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
ribbon效果
浏览大图
ribbon页面效果
浏览大图
回帖(13):
13楼:
12楼:libaineu2004:建议博主,把这个开源项目集成进入:
https://github.com/githubuser0xFFFF/Qt ..
11楼:建议博主,把这个开源项目集成进入:
https://github.com/githubuser0xFFFF/Qt-Advanced-Doc ..

全部回帖(13)»
最新回帖
收藏本帖
发新帖