Qt程序使用QtitanRibbon库的RibbonPage的Alt键

Posted r0xfed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt程序使用QtitanRibbon库的RibbonPage的Alt键相关的知识,希望对你有一定的参考价值。

  Ribbon风格的应用程序一般存在如下操作方式: 在Ribbon程序的主界面中按下Alt键会在RibbonPage页面名称下方显示一个或多个字母, 表示继续点击这组字母可以显示该RibbonPage内的各个菜单项的键盘快捷键,进而通过按下键盘上的指定键位触发响应的Ribbon菜单项。如下图所示:

       技术分享图片

       如果使用MFC编写Ribbon程序,可以在Visual Studio中轻松地指定RibbonPage按下Alt快捷键后显示的提示字母。然而项目使用Qt + Qtitan Ribbon库构建Ribbon程序,因此处理Alt键的相关问题就稍显麻烦了。

       由于项目要求程序支持中文/英文切换,因此根据常规的Qt翻译机制做了翻译,然而发现程序在中文界面下,RibbonPage按下Alt键显示的是中文字符, 如下图所示:

       技术分享图片

       虽然每一个RibbonPage都是一个QtitanRibbon::RibbonPage类对象,但是查阅QtitanRibbon库官方文档并未发现这个类对象有任何控制Alt键位提示的接口。最后发现Alt键位控制是由另一个Ribbon库类负责: QtitanRibbon::RibbonBar::setKeyTip(QAction *action, const QString &keyTip), 此接口的第一个参数就是RibbonPage::defaultAction(), 第二个参数就是你想自定义的按下Alt键后显示的字符串。

       Ok, 使用RibbonBar的setKeyTip接口即可做出如上Excel的Alt控制效果了, 即: 中文RibbonPage名 + 自定义Alt键提示。

以上是关于Qt程序使用QtitanRibbon库的RibbonPage的Alt键的主要内容,如果未能解决你的问题,请参考以下文章

GTK 和 Qt 的功能区界面

在 Qt Creator (Windows) 中构建 Qt 库的问题

QT基础QT工程pro文件模板变量 使用

qt 添加第 3 方头文件和库的路径

关于Qt程序中动态和静态的几点总结

带有自定义共享库的 Qt 项目交叉编译 Qt