您当前的位置:五五电子网电子知识单片机-工控设备源码-程序中文国际化中的在QT程序设计 正文
中文国际化中的在QT程序设计

中文国际化中的在QT程序设计

点击数:7128 次   录入时间:03-04 11:43:57   整理:http://www.55dianzi.com   源码-程序

    中文国际化是在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文件拷贝到文件系统中运行,你就可以看到一个汉化的节面了。




本文关键字:程序设计  中文  源码-程序单片机-工控设备 - 源码-程序

上一篇:PowerPCB 快捷命令

《中文国际化中的在QT程序设计》相关文章>>>