由于QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单项在qt_zh_CN.qm中没有被翻译,需要自己翻译Qt 部件相关的模块为widgets,进入 widgets 源码相关路径(例如,C:\Qt\Qt5.9.1\5.9.1\Src\qtbase\src\widgets),打开 widgets.pro,添加:TRANSLATIONS += widgets.ts,在 Qt Creator 的系统菜单中,选择:工具 -> 外部 -> Qt语言家 -> 更新翻译(lupdate),就会在 widgets.pro 所在目录下生成一个 widgets.ts 文件。用 Qt Linguist 打开 widgets.ts,找到需要翻译的部件,进行翻译。以 QTextEdit 右键菜单(复制、粘贴)为例,由于 QTextEdit 右键菜单通过 QWidgetTextControl 实现,找到 QWidgetTextControl,翻译相关选项。保存翻译后的文件,选择:文件 -> 发布,这时会生成一个名为 widgets.qm 的文件,使用 QTranslator 加载生成的 widgets.qm 文件: QTranslator translator; translator.load(":/qm/widgets.qm"); app.installTranslator(&translator); 程序就可以显示为指定的语言了
1
pyqt QLineEdit QTextEdit 右键菜单汉化 调用方法: translator = QTranslator() translator.load('qt_zh_CN.qm') app.installTranslator(translator) translator2 = QTranslator() translator2.load('widgets.qm') app.installTranslator(translator2)
2021-02-01 22:03:35 40KB QT QLineEdit QTextEdit 右键菜单
1
使用方法,在main函数中加入如下语句,并奖相关文件添加到qrc中: 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);
2019-12-21 20:14:02 50KB QTextEdit 右键菜单 英文
1