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;
- QT笔记(3)——Qt的lineEdit和textEdit的右键菜单汉化
- Qt学习笔记3-lineEdit和textEdit
- QT中LineEdit TextEdit PlainTextEdit 这三个控件的区别
- QT笔记(4)——Qt的lineEdit添加鼠标点击事件
- qt之LineEdit的样式
- Qt右键菜单的添加
- QT TextEdit的一些总结
- Qt笔记-qml-lineEdit
- Linux-Qt - LineEdit、TextEdit及PlainTextEdit控件区别
- QT textEdit,lineedit等改变字体颜色方法
- QT textEdit,lineedit删除光标前一个字符
- Qt的LineEdit 输入内容控制
- Qt中lineedit的输入与输出
- qt中lineedit的几个属性设置
- qt右键菜单的简单实例 ContextMenu
- Qt中TreeView的右键菜单实现
- QT隐藏工具栏上的右键菜单
- 关于QT系统托盘右键菜单的补充
- Android 模块化探索与实践
- struts2
- C\S架构下实现简单的文件传输功能
- 前后台交互
- poj
- QT笔记(3)——Qt的lineEdit和textEdit的右键菜单汉化
- 51nod 1405 树的距离之和
- Android VR Player(全景视频播放器) [2]:开发说明
- 第七章、字符串
- php上传常见文件类型对应的$_FILES["file"]["type"]。
- Java概念性问题4
- 404. Sum of Left Leaves
- 开发、调试、版本管理、包管理工具、压缩混淆工具、测试(angularjs)
- python读取txt解决中文乱码问题