如何在Qt中不使用QActions翻译热键?

时间:2012-10-28 13:07:55

标签: qt translate

在我目前的项目中,我们使用Qt及其翻译系统来使GUI本地化为多种语言。

我的主要问题是热键的翻译。

当用户打开主菜单时,他可以看到与其关联的所有菜单项和热键。此信息存储在QAction中。当我们更改语言(例如阿拉伯语)时,用户可以看到翻译的菜单项文本,并且其热键也将被翻译。但我不希望翻译热键。

我对这个问题进行了一些研究,并发现了旗帜"可翻译"用于QtDesigner中的快捷方式。但是这个标志没有帮助,因为只有当我们想要将这个快捷方式添加到我们的翻译系统时才需要它,例如不同的热键用于不同语言的相同动作。

主要问题是Qt使用QKeySquence::toString()获取任何热键的字符串。但是这种方法会自动翻译" Ctrl"," Del"," Alt"换句话说,使用QShortcut上下文。所有QShortcut翻译都存储在我们项目中包含的Qt中的默认qm文件中。

那么如何不翻译热键?

0 个答案:

没有答案