QT笔记(3)——Qt的lineEdit和textEdit的右键菜单汉化
2017-05-06 00:19
357 查看
关于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中添加如下:
如果运行没问题效果如下:
当然还没有完事,如果在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中再次添加,完整代码如下:
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;
相关文章推荐
- Qt学习笔记3-lineEdit和textEdit
- QT右键菜单
- 【ext js 学习笔记】GridPanel 右键显示菜单的制作
- QT 创建托盘图标和右键菜单
- SL复习笔记之平稳转型——基础篇(四、多媒体,工具提示和右键菜单)
- SL复习笔记之平稳转型——基础篇(四、多媒体,工具提示和右键菜单)
- qt4:如何设置(button,lable,textedit,lineedit,progressbar等的)背景图片
- Developer Express右键菜单显示汉化
- developer express右键菜单显示汉化
- QT右键菜单及位置捕捉问题
- QT学习笔记----主窗口菜单
- Qt的右键菜单及位置捕捉问题
- qt右键菜单的简单实例 ContextMenu
- 笔记:如何让wpf中disabled的控件弹出右键菜单
- qt 添加右键菜单
- Qt 前端显示(置顶)、 居中和右键菜单的实现
- [转]QT右键菜单及位置捕捉问题
- QT 创建鼠标右键菜单
- 【Qt开发】Qt gui添加右键菜单事件
- QT右键菜单的创建及相关问题解决