develop环境下qt中文化程序的设计.docVIP

  • 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

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档