我使用QT5.1.1在MacOS上开发了一个程序,我开始使用翻译工具将我的程序翻译成法语(暂时)。我使用下面的代码安装.qm
文件:
QApplication a(argc, argv);
QTranslator translator;
translator.load("/path_to_qm_file");
a.installTranslator(&translator);
使用英文文件我有About
和Preferences
子菜单,它会自动进入Joker
菜单:
当我加载法语文件About
和Preferences
时,请转到File
菜单:
如何让Qt理解我希望第一个行为成为唯一应该使用的行为?
答案 0 :(得分:1)
这是由于QAction
菜单角色的自动扣除所致。扣除适用于英文文本,但不适用于法语,特别是您使用的是错误的属性翻译(不是Apple的HIG翻译)。您需要使用Preferences
将QAction::PreferencesRole
操作的菜单角色明确设置为QAction::setMenuRole
。这将解决问题。