将QTextEdit右键菜单设置为中文

网友投稿 1706 2022-12-01

将QTextEdit右键菜单设置为中文

将QTextEdit右键菜单设置为中文

在Qt的安装目录C:\Qt\Qt5.7.0VS2015.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,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用上面的方式应用到项目中即可。

其实右侧列表中的类都可以通过这种方法翻译,当然也包括QLineEdit和QMessageBox。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C++11并发学习之五:生产者与消费者
下一篇:QMQTT:一个开源的MQTT客户端
相关文章

 发表评论

暂时没有评论,来抢沙发吧~