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键提示。

原文地址:https://www.cnblogs.com/r0xFED/p/9393285.html

时间: 2024-11-03 22:25:10

Qt程序使用QtitanRibbon库的RibbonPage的Alt键的相关文章

Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake -v 是自己使用的Qt版本,否则用export PATH进行修改)good

patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 patchelf --set-rpath patchelf --set-interpreter 通过这个工具 https://github.com/probonopd/linuxdeployqt 如果自己编译不了,也可以下载现成的 https://github.com/probonopd/linuxdeployqt/releases 运行 ./linuxdeployqt-2-x86_64.AppImage ShanbayDi

亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查

QT程序移植成功

今天终于把QT移植好了,并且交叉编译了helloworld和Clock. 花了好长时间,其实归根结底是不了解交叉编译是什么. 一开始在电脑上安装了QT软件,可以打开新建工程做了个例程,在这个基础上用提供的ARM-LINUX交叉编译器编译程序,一直不能用,最后发现其实自己并没有好好看开发板的文档,有一个文档已经写出了怎样移植QT .需要重新用ARM-LINUX交叉编译工具编译QT的安装包,最后make install之后才会得到可以用来交叉编译和移植到开发板的QT库和工具,电脑上安装的那个QT软件

基于QT开发的第三方库

基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库 目录(?)[+] 文章来源:http://blog.csdn.net/zhgn2/article/details/14613519 QxOrm QxOrm is a new open source ORM (Object Relational Mapping) C++ library designed to provide : * Persistence (based on

Windows如何打包Qt程序

很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了.本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程. 在Windows系统中,要打包Qt程序,主要会用到3个工具包,分别是: 1.hap-depends    查看软件的依赖库(

QT程序出现Bus Error问题的调试

原文 1.文档目的 本文档目的在于探究部分QT程序在嵌入式板子上出现BusError问题的调试及解决方法: 以数码相框程序出现的BusError为例: 2.原因分析 2.1产生BusError的可能原因: BusError即总线错误,BusError通常都是因为非对齐访问造成的.CPU在设计上为了性能上的考虑,要求待访问,操作的数据地址都要对齐.如果发现没有对齐的访问,就会向当前进程发出SIGBUS信号,使程序崩溃.RISC包括MIPS都是这种类型的芯片.而X86架构就没有这种对齐要求.所以代码

Linux下编译静态MinGW环境,编译windows平台Qt程序(使用MXE)

参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Linux重度使用者,受够了MFC之后一直想要找一个框架替换,使用过GTK,wxWidgets,Qt,最后还是Qt用得多一些.我认为程序跨平台应该是一个基本标准,同一份代码不需改动,或者改动极少,放在不同的平台下编译就能使用.不同平台,同样的界面,同样的操作,同样的体验.这里要讲的是我如何在Linux 下开发跨

基于vs2005以上版本Qt程序发布的注意事项(讲了manifest的问题)

最近发现了一个非常恼人的程序deployment的问题,估计大家有可能也会遇到,特此memo. 问题的出现我觉得主要还是微软搞的花头太多, 一个不知所谓的manifest文件让本来简单的程序发布变得困难重重. 找了找关于manifest的介绍,貌似这个文件是用来描述程序或者库的依赖关系, 特别是对程序依赖的版本进行描述, 这样系统可以通过manifest的内容找到正确的库版本. 理论上讲这个dd确实是不错, 可以解决版本不兼容的问题, 保证程序运行的时候用的是指定版本的库. 不过实际操作起来麻烦

Qt程序Release版出现 类似 QEventLoop: Cannot be used without QApplication 问题的终极解决方案

最近在做Qt程序开发,程序在Debug下跑是没有问题的,发布到Release版本后,出现各种问题: 报各种莫名其妙的错误,类似的错误有: QEventLoop:Cannot be used without QApplication QObject::connect:Cannot connect (null)::aboutToQuit() to QNativeWifiEngine::closeHandle() QObject::connect:Cannot connect (null)::abou