QTranslator奇怪行为
我使用QT5.1.1在MacOS上开发了一个程序,并开始使用翻译工具将我的程序翻译成法语(目前)。我使用下面的代码安装QTranslator奇怪行为,qt,user-interface,Qt,User Interface,我使用QT5.1.1在MacOS上开发了一个程序,并开始使用翻译工具将我的程序翻译成法语(目前)。我使用下面的代码安装.qm文件: QApplication a(argc, argv); QTranslator translator; translator.load("/path_to_qm_file"); a.installTranslator(&translator); 使用英文文件,我得到了About和Preferences子菜单,它会自动进入Joker菜单,如下所示: 当我加
.qm
文件:
QApplication a(argc, argv);
QTranslator translator;
translator.load("/path_to_qm_file");
a.installTranslator(&translator);
使用英文文件,我得到了About
和Preferences
子菜单,它会自动进入Joker
菜单,如下所示:
当我加载法语文件About
和Preferences
时,转到file
菜单:
如何让Qt理解我希望第一个行为是它应该使用的唯一行为?这是由于自动推断
QAction
菜单角色。该推论适用于英文文本,但不适用于法文,尤其是您使用了错误的属性翻译(不是苹果HIG的翻译)。您需要使用QAction::setMenuRole
将Preferences
操作的菜单角色显式设置为QAction::PreferencesRole
。这将解决问题