- 0
- 0
- 约1.25万字
- 约 19页
- 2018-06-03 发布于福建
- 举报
develop环境下qt中文化程序的设计
develop环境下qt中文化程序设计
[转]develop环境下qt中文化程序设计2010-10-21 15:03原文出处:Linux公社
原文作者:yfy001 kdevelop是一款在linux平台下可以同windows环境下的vc相媲美的集成开发环境,qt则是一款支持包括windows和linux平台
的GUI库,可以说它是linux下的MFC.在显示上,qt使用Unicode作为内部编码,可以支持多种编码.如何使用qt进行国际化编程
在网上可以找到很多资料的,但都是针对较早版本的qt进行介绍的.qt3.0.5中对这些作了些改动,这些方法就相应的要做些改动.
而且在kdevelop中开发qt应用程序,将会事半功倍.我的开发环境为redhat8.0(需安装kde开发工具包).
首先在linux中打开kdevelop集成开发环境,用它的应用程序向导新建一个qt的SDI的应用程序框架.这个同windows下vc很类似.它
将会为你自动生成版本号,作者,e-mail等信息的单文档对话框的应用程序框架.我们首先对它自动生成的程序进行汉化(qt1是
我的项目名称).
1.汉化自动生成的程序
添加翻译文件
在项目菜单中选择添加新的翻译文件,语言选择zh_CN.Gb2312.将会创建一个zh_CN.GB2312字符编码的翻译文件.扩展名
为.ts.在qt3.0.5环境下,打开*.ts翻译文件的工具是linguist.你可以在工具菜单中选择QT linguist来打开,在linguist菜单中选择file-open打开所要翻译的翻译文件.此时可以在linguist窗口中的source text中
的文本就是你所要翻译的文本,选择所要翻译的文本,在下方有一个类似一页纸一样的地方,在translate下输入翻译后的文本.
所示.
翻译完这些文件后,编译运行,在我们的程序里并不能显示中文,还是英文,我们还需要做的就是用lrelease命令将翻译后的文件转换
成.qm文件才可以使用.在控制台下进入你用kdevelop所生成的应用程序目录.
lrelease Makefile.am qt3.0.5用这个两个程序取代了以前版本的findtr和msg2qm命令.在kdevelop集成环境中打开main.cpp主函数,
.
QApplication a(argc,argv);
a.setFont(QFont(helvetica,10));
QTranslator tor(0);
tor.load(QString(qt1.)+QTextCodec:locale(),.);
//tor.load(QString(qt1.zh_CN.GB2312),.);
a.installTranslator(tor);
/*uncomment the following line,if you want aWindows 95 look*/
//a.setStyle(WindowsStyle);
Qt1App*qt1=new Qt1App();
//Form1*qt1=new Form1();
a.setMainWidget(qt1);
.
此处:
tor.load(QString(qt1.)+QTextCodec:locale(),.);
是根据客户环境的locale来载入当前目录下相应的翻译文件的.redhat中文环境默认的locale为gb18030,
此处要么把翻译文件名由qt1.zh_CN.GB2312.qm改为qt1.zh_CN.GB18030.qm,要么将这句改为
tor.load(QString(qt1.zh_CN.GB2312),.);
不过为了国际化编程的需要,建议采用第一种方法.更改后编译运行,你会发现你的程序已经是中文界面的了.
2.汉化自己的对话框
大多数情况下我们都需要自己来设计对话框,qt为我们提供了非常好的对话框编辑器QtDesigner,可以很方便的设计我们的对话框,qt
的信号和槽等,关于QtDesigner的使用,限于篇幅,不再赘述.以前面的程序为基础.在kdevelop中选择文件-新建,选择Qt Designer文件(*.ui).在文件名一栏中填写mydialog,最后点击确定按钮,即会启动QtDesigner,此处只拖了一个Label,写了一
些英文字符.对话框的name属性为Form1.将对话框mydialog.ui保存.
在控制台下进入你用kdevelop所生成的应用程序目录.
lupdate Makefile.am
同样用QT linguist来翻译qt1.zh_CN.GB2312.tr文件.此时linguist的context中会多出Form1的选项,这里面就是我们新建的对话框要翻译的
选项.依据前面的方法进行汉化.
l
您可能关注的文档
- “眼球对眼球的权利”——对质权制度比较研究_民法论文_法律论文__5414.doc
- “铁屋子”或“家”的民族寓言——论中国电影的一个原型叙事结构及其变形_电视电影论文_艺术论文__4563.doc
- 《催醒术》——1909年发表的“狂人日记”_现当代文学论文_文学论文__264.doc
- 《春望》五种英译文的比较研究,英语翻译学论文-_3168【论文全集】.doc
- “整理国故运动”与国学研究的学科重建_国学论文_哲学论文__3348.doc
- 侦查程序的正当化是我国法治建设发展的需要,侦查论文-_182【论文大全】.doc
- 从文化视角研究《红楼梦》中委婉语的翻译,英语翻译学论文-_194【论文大全】.doc
- 中国左翼文学、京海派文学及其在当下的意义_现当代文学论文_文学论文__195.doc
- 信息技术与教育相整合的进程,教育管理论文.doc
- 大学语文课程建设的一些建议,语文教育论文-_577【论文大全】.doc
最近下载
- 《影视视听语言》第四版 07189 第六、七、八、九章.pptx VIP
- 声带息肉手术患者护理查房.pptx VIP
- 《影视视听语言》第四版 07189第五章.pptx VIP
- 《影视视听语言》第四版 07189第三章.pptx VIP
- 《影视视听语言》第四版 07189 第一章课件.pptx VIP
- 高一地理自然地理环境的差异性.pptx VIP
- 《影视视听语言》第四版 07189 第二章.pptx VIP
- 2026年南宁职业技术学院单招职业适应性考试模拟测试卷附答案解析.docx VIP
- 高中地理 人教版 选修一《自然环境的整体性与差异性》自然环境的整体性 课件.pptx VIP
- 健康证考试题及答案.docx VIP
原创力文档

文档评论(0)