qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文



qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文



虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。
问题的原因在于:QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。
解决方法:打开qt-everywhere-opensource-src-5.2.0\qtbase\src\widgets目录,用Qt Creator打开widgets.pro文件,
添加一行:TRANSLATIONS += widgets.ts
然后在Qt Creator的系统菜单中,选择:工具->外部->Qt语言家->更新翻译,

注意:找不到lupdate.exe不会提示,请看下面概要提示,确保文件存在,成功会显示:

Starting external tool "E:\qt\qt5.5\qtbase\bin\lupdate.exe" E:/qt/qt5.5/qtbase/src/widgets/widgets.pro

Updating 'widgets.ts'...

Found 219 source text(s) (219 new and 0 already existing)


"E:\qt\qt5.5\qtbase\bin\lupdate.exe" finished


就会在widgets.pro所在目录下生成一个widgets.ts文件,用Qt Linguist打开widgets.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用下面的方式应用到项目中即可:

C/C++ code






QTranslator translator;
     translator.load(QString( ":/cfg/xml/widgets.qm" ));
     app.installTranslator(&translator);
     QTranslator translator2;
     translator2.load(QString( ":/cfg/xml/qt_zh_CN.qm" ));
     app.installTranslator(&translator2);



  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值