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

ttnewday19 2013-05-15 02:45:20
qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文?
...全文
2139 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_51041496 2021-06-25
  • 打赏
  • 举报
回复

我的其他部分都变了,为什么只有这里没有改变?.ts文件中也做了相应配置。请大家指教!谢谢

qiiii 2014-10-29
  • 打赏
  • 举报
回复
引用 6 楼 lulinqing 的回复:
虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。 问题的原因在于: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语言家->更新翻译,就会在widgets.pro所在目录下生成一个widgets.ts文件,用Qt Linguist打开widgets.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用下面的方式应用到项目中即可:
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);
可以了,感谢楼主!!! 感觉Qt5没有Qt4好用,各种不方便,比如发布必须带那个巨大的icu库。
qiiii 2014-10-29
  • 打赏
  • 举报
回复
引用 6 楼 lulinqing 的回复:
虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。 问题的原因在于: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语言家->更新翻译,就会在widgets.pro所在目录下生成一个widgets.ts文件,用Qt Linguist打开widgets.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用下面的方式应用到项目中即可:
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);
楼主,我使用了你的方法还是不行呢,我把整个widget.ts都翻译了,load和install也都返回true
卢林清 2014-09-24
  • 打赏
  • 举报
回复
虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。 问题的原因在于: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语言家->更新翻译,就会在widgets.pro所在目录下生成一个widgets.ts文件,用Qt Linguist打开widgets.ts,找到QWidgetTextControl,翻译相关选项,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用下面的方式应用到项目中即可:
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);
llwj0303 2014-08-06
  • 打赏
  • 举报
回复
引用
u010716272
setcontextmenupolicy(Qt::NocontextMenu)就可以。 顺便问下,如何在Qlistwidget中添加右键菜单,是不是要重写contextmenu,怎么写啊@u011012932,老兄求指点
u010716272 2014-05-25
  • 打赏
  • 举报
回复
想请教如果取消右键菜单要如何做?谢谢!
无幻 2013-08-23
  • 打赏
  • 举报
回复
引用 2 楼 u011012932 的回复:
[quote=引用 楼主 ttnewday19 的回复:] qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文?
明明是你用错了! 1、进行资源的添加 2、main方法中添加 QTranslator translator; translator.load(QString(":/qm/qt_zh_cn")); app.installTranslator(&translator); 效果如下: [/quote]你试QTextEdit了吗?我这边也是不行
一去丶二三里 2013-08-15
  • 打赏
  • 举报
回复
引用 楼主 ttnewday19 的回复:
qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文?

明明是你用错了!
1、进行资源的添加

2、main方法中添加
QTranslator translator;
translator.load(QString(":/qm/qt_zh_cn"));
app.installTranslator(&translator);
效果如下:
xcyl 2013-05-15
  • 打赏
  • 举报
回复
重新实现contextMenuEvent吧

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧