在开发板上使用QTE显示中文的步骤,QTE版本4.4.3
1.编写并编译应用程序,使用Qt/Embedded的i18n支持,让应用程序支持多种语言显示
#include <QApplication>
#include <QLabel>
#include <QTranslator>
int main (int argc, char * argv[])
{
QApplication app(argc, argv);
QTranslator translator;
translator.load(QString("hello_zh.qm",qApp->applicationDirPath());
app.installTranslator(&translator);
QLabel * label = new QLabel(QObject::tr("Hello, World!"), 0);
label->show();
return app.exec();
}
#qmake -project
#qmake
2.使用lupdate,lrelease和lingust工具,生成.ts和.qm等i18n需要的文件;编写并编译应用程序,使用Qt/Embedded的i18n支持,让应用程序支持多种语言显示,在上一步中生成的hello.pro文件末尾加入TRANSLATIONS的定义,TRANSLATIONS+=translator。
# lupdate -verbose hello.pro
Updating 'hello_zh.ts'...
0 known, 1 new and 0 obsoleted messages
此时目录中会生成一个hello_zh.ts的XML格式的文件,内容如下:
<!DOCTYPE TS><TS>
<context>
<name>QObject</name>
<message>
<source>Hello, World!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>
3.翻译文件内容应该如下:
<!DOCTYPE TS><TS>
<context>
<name>QObject</name>
<message>
<source>Hello, World!</source>
<translation type="unfinished">你好,世界!</translation>
</message>
</context>
</TS>
OK,执行lrelease,生成相应.qm文件:
host# lrelease -verbose hello.pro
Updating 'hello_zh.qm'...
0 finished, 1 unfinished and 0 untranslated messages
4.复制字体到开发板上
支持中文的字体有unifont_160_50.qpf和wenquanyi_120_50.qpf,把它们复制到开发板相应的目录下
设置环境变量export QT_QWS_FONTDIR=/home/lib/fonts
运行程序hello -qws -font unifont 或者把unifont换成wenquanyi,注意要把hello_zh.qm也放在同一目录下。