• 4060阅读
  • 7回复

[提问]怎样把QTextEdit部件中鼠标右击打开的复制,粘贴变成中文? [复制链接]

上一主题 下一主题
离线y1363386323
 

只看楼主 倒序阅读 楼主  发表于: 2017-04-05
— 本帖被 XChinux 执行加亮操作(2017-04-19) —

如上图所地示,我在QTextEidt部件中点击鼠标右键,弹出的复制,粘贴是英文的,请问怎样把它变成中文的?
离线dosmlp

只看该作者 1楼 发表于: 2017-04-05
加载翻译文件qt_zh_CN.qm
离线linker

只看该作者 2楼 发表于: 2017-04-05
或者自己重写右键菜单
做土豆长大的孩纸
离线y1363386323

只看该作者 3楼 发表于: 2017-04-09
回 dosmlp 的帖子
dosmlp:加载翻译文件qt_zh_CN.qm (2017-04-05 15:43) 

我加载了,但是没有成功,你试验成功了吗?
离线xiaosha11111

只看该作者 4楼 发表于: 2017-04-09
加载翻译资源文件

QTranslator translator;
translator.load(":/qm/Resources/qt_zh_CN.qm");
a.installTranslator(&translator);
离线y1363386323

只看该作者 5楼 发表于: 2017-04-12
回 xiaosha11111 的帖子
xiaosha11111:加载翻译资源文件
QTranslator translator;
translator.load(":/qm/Resources/qt_zh_CN.qm");
a.installTranslator(&translator); (2017-04-09 15:55) 

我按你说的没有成功,你试验成功了吗?能把代码发给我吗?万谢!!!
我邮箱1363386323@qq.com
离线y1363386323

只看该作者 6楼 发表于: 2017-04-12
回 xiaosha11111 的帖子
xiaosha11111:加载翻译资源文件
QTranslator translator;
translator.load(":/qm/Resources/qt_zh_CN.qm");
a.installTranslator(&translator); (2017-04-09 15:55) 

另外要说下,QLineEdit是中文,可QTextEdit却还是英文
离线y1363386323

只看该作者 7楼 发表于: 2017-04-12
回 xiaosha11111 的帖子
xiaosha11111:加载翻译资源文件
QTranslator translator;
translator.load(":/qm/Resources/qt_zh_CN.qm");
a.installTranslator(&translator); (2017-04-09 15:55) 

找到解决方法了

由于QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。
解决方法:
打开qt-everywhere-opensource-src-5.2.0\qtbase\src\widgets目录,用Qt Creator打开widgets.pro文件
添加一行TRANSLATIONS+=widgets_zh_CN.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_zh_CN.ts文件,用Qt Linguist打开widgets_zh_CN.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets_zh_CN.ts所在目录生产一个widgets_zh_CN.qm文件,然后用下面的方式应用到项目中即可:
QTranslator translator01;
translator01.load(QString(":/cfg/xml/qt_zh_CN.qm"));
app.installTranslator(&translator01);

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


快速回复
限100 字节
 
上一个 下一个