微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > qt程序中文国际化

qt程序中文国际化

时间:08-15 来源:互联网 点击:

中文国际化是在QT程序设计中很重要的一个环节,这里用一个简单的例子介绍中文国际化得过程。

在这里我们还是写一个经典的helloworld的例子。

zh_CN.cpp

#include

#include

#include

#include

#include

int main(int argc, char **argv)

{

QApplicaTIon app(argc, argv);

QTextCodec::setCodecForTr(QTextCodec::codecForname(UTF-8)) ;

app.setFont(QFont(simsun, 10));

QTranslator translator( 0 );

translator.load( zh_CN, . );

app.inSTallTranslator( translator );

QPushButton *pushbutton = new QPushButton(QObject::tr(helloworld!));

pushbutton->show();

return app.exec();

}

代码中红色部分为关键代码。

QTextCodec::setCodecForTr(QTextCodec::codecForNAME(UTF-8)) ;

这段代码是设置文字的编码格式,这里选择UTF-8.

app.setFont(QFont(simsun, 10));

设置字体为宋体,字体大小为10磅。这个设置的前提是我们有这个字库。simsun.ttc在windows的字体库中可以找到。当然也可以选择其他的字体,如wenquanyi,simfang等。我们把字库拷贝到开发板的字库目录下,修改字库目录下FONTdir文件,添加如下内容:

simsun simsun.ttc TTC n 50 120 u

QTranslator translator( 0 );

translator.load( zh_CN, . );

app.installTranslator( translator );

上面三段代码是程序运行时需要装载的翻译文件设置。

QObject::tr(helloworld!)

这句是告诉编译器,这个字符串是可以翻译的。

下面是翻译过程:

1、修改zh_CN.pro文件,添加如下内容:

TRASHLATI* = zh_CN.ts

2、生产ts文件

lupdate zh_CN.ts

查看zh_CH.ts文件:

xml version=1.0 encoding=utf-8 >

QObject

helloworld!

3、生产 qm文件

这个可以有两种方法,一种是使用linguist,通过图形界面去生产qm文件,这里介绍另外一种方法。

修改ts文件为:

xml version=1.0 encoding=utf-8 >

QObject

helloworld!

你好!

然后就是生成qm文件了

lrelease zh_CN.ts –qm zh_CN.qm

4、编译程序。将可执行文件和qm文件拷贝到文件系统中运行,你就可以看到一个汉化的节面了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top