QTranslator奇怪的行为

时间:2013-12-23 14:18:33

标签: qt user-interface

我使用QT5.1.1在MacOS上开发了一个程序,我开始使用翻译工具将我的程序翻译成法语(暂时)。我使用下面的代码安装.qm文件:

QApplication a(argc, argv);
QTranslator translator;
translator.load("/path_to_qm_file");
a.installTranslator(&translator);

使用英文文件我有AboutPreferences子菜单,它会自动进入Joker菜单:

correct behavior

当我加载法语文件AboutPreferences时,请转到File菜单:

incorrect 1 enter image description here

如何让Qt理解我希望第一个行为成为唯一应该使用的行为?

1 个答案:

答案 0 :(得分:1)

这是由于QAction菜单角色的自动扣除所致。扣除适用于英文文本,但不适用于法语,特别是您使用的是错误的属性翻译(不是Apple的HIG翻译)。您需要使用PreferencesQAction::PreferencesRole操作的菜单角色明确设置为QAction::setMenuRole。这将解决问题。