QT笔记(3)——Qt的lineEdit和textEdit的右键菜单汉化

来源:互联网 发布:ip与mac绑定有什么缺点 编辑:程序博客网 时间:2024/05/22 13:40

关于Qt一些控件鼠标右键菜单汉化的问题,网上有一些方法,试了一下,这里做一下总结:

1、汉化需要“.qm”这个文件,这个如果深入的话可以学习一下Qt的Linguist,这个网上很多;如果只做右键菜单汉化,在qt安装目录里找qt_zh_CN.qm这个文件拷贝出来就可以;文件一般在...\translations\qt_zh_CN.qm;

2、在资源管理器里加载;最好放在自己程序文件目录里,方便写rc文件的目录,方法是在Qt Creator窗口左边项目文件管理里——右键——添加新文件——Qt——Qt Resource File——起个名字一路choose下去就好;然后选中.qrc——右键——add prefix——起个名字;然后.qrc——右键——open in editor——添加文件——选中qt_zh_CN.qm;

3、在main.cpp中添加如下:

#include "widget.h"#include <QApplication>#include <QTranslator>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QTranslator translator;    qApp->installTranslator(&translator);    translator.load(":/language/qt_zh_CN.qm");    Widget w;    w.show();    return a.exec();}
注意translator.load(),加载的是文件路径,也就就是qrc里的路径,之前添加的前缀记得写上,一般如果运行后,没有bug,但是右键菜单还是英文,问题都是这里;

如果运行没问题效果如下:


当然还没有完事,如果在textEdit里右键调出菜单还是英文,这里解决的办法如下或者参考:http://bbs.csdn.net/topics/390459238;

4、需要完整的汉化文件:widgets.qm;这个一个方法是自己编译,下载qt源文件,在.....src\widgets目录里找到widgets.pro,用qt打开,添加添加一行:TRANSLATIONS += widgets.ts;然后选择:工具->外部->Qt语言家->更新翻译,会目录下生成widgets.ts,然后用Qt Linguist打开widgets.ts,发布为widgets.qm;当然如果嫌麻烦可以到这里下载: https://pan.baidu.com/s/1c1PtsfY 密码: a7mb;

5、同上面一样将widgets.qm拷贝到目的,并且在qrc中加载;效果图如下:


6、在main.cpp中再次添加,完整代码如下:

#include "widget.h"#include <QApplication>#include <QTranslator>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QTranslator translator;    qApp->installTranslator(&translator);    translator.load(":/language/qt_zh_CN.qm");    //添加qt_zh_CN.qm汉化;        QTranslator translator2;    qApp->installTranslator(&translator2);    translator2.load(":/language/widgets.qm");    //添加widgets.qm汉化;        Widget w;    w.show();    return a.exec();}
另外感谢大神们的博客:http://blog.csdn.net/xbnlkdbxl/article/details/51322552;



0 0
原创粉丝点击