在Qt的安装目录C:\Qt\Qt5.7.0VS2015\5.7\msvc2015\translations中有名为qt_zh_CN.qm翻译文件,QLineEdit等通过加载该翻译文件就能实现右键中文菜单,如下所示:
QApplication a(argc, argv);
//加载Qt中的资源文件,使Qt显示中文(包括QMessageBox、QLineEdit右键菜单等)
QTranslator translator;
translator.load(":/translations/qt_zh_CN.qm");
a.installTranslator(&translator);
但是这种方法对QTextEdit等无效,CSDN论坛中给出了一种可行的方法,感谢lulinqing的分享,如下:
问题的原因在于:
QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。
解决方法:
1.找到C:\Qt\Qt5.7.0VS2015\5.7\Src\qtbase\src\widgets目录,用Qt Creator打开里面的widgets.pro文件,添加一行:TRANSLATIONS += widgets.ts;
2.然后在Qt Creator的系统菜单中,选择:工具->外部->Qt语言家->更新翻译,就会在widgets.pro所在目录下生成一个widgets.ts文件;
3.用Qt Linguist打开widgets.ts&#x