亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > qt程序中文化
qt程序中文化
時間:2016-12-29作者:華清遠見

中文化是在QT程序設計中很重要的一個環節,這里用一個簡單的例子介紹中文化得過程。

    在這里我們還是寫一個經典的helloworld的例子。
    zh_CN.cpp
    #include <QApplication>
    #include <QPushButton>
    #include <QTextCodec>
    #include <QTranslator>
    #include <QObject>
    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文件,添加如下內容:
    TRASHLATIONS = zh_CN.ts
    2、生產ts文件
    lupdate zh_CN.ts
    查看zh_CH.ts文件:
    < xml version="1.0" encoding="utf-8" >
    <!DOCTYPE TS><TS version="1.1">
    <context>
        <name>QObject</name>
        <message>
           <location filename="main.cpp" line="17"/>
           <source>helloworld!</source>
           <translation type="unfinished"></translation>
        </message>
    </context>
    </TS>
    3、生產 qm文件
    這個可以有兩種方法,一種是使用linguist,通過圖形界面去生產qm文件,這里介紹另外一種方法。
    修改ts文件為:
    < xml version="1.0" encoding="utf-8" >
    <!DOCTYPE TS><TS version="1.1">
    <context>
        <name>QObject</name>
        <message>
           <location filename="main.cpp" line="17"/>
           <source>helloworld!</source>
           <translation>你好!</translation>
        </message>
    </context>
    </TS>
    然后就是生成qm文件了
    lrelease zh_CN.ts –qm zh_CN.qm
    4、編譯程序。將可執行文件和qm文件拷貝到文件系統中運行,你就可以看到一個漢化的節面了。

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 国产高清精品自在线看 | 天天视频色版 | 日日摸日日碰夜夜爽97纠 | 日本亚洲成人 | 天天摸天天看天天做天天爽 | 人人爱干| 狼人久久尹人香蕉尹人 | 欧美高清视频在线 | 人人人人干 | 国产欧美在线视频免费 | 日本人六九视频 | 日本在线影院 | 欧美日韩中文字幕在线 | 久久午夜羞羞影院免费观看 | 精品一区二区三区影片 | 夜夜草视频 | 男插女青青影院 | 免费看a的网站 | 日韩视频在线一区 | 色一色在线观看视频网站 | 久久国产精品-国产精品 | 久久伊 | 两个人看的www片免费中文 | 国产免费久久精品久久久 | 日本成人中文字幕 | 亚洲黄网免费 | 思思99re66在线精品免费观看 | 国产第八页 | 久久狠狠躁免费观看2020 | 国产精品视频第一区二区 | 人人爱人人 | 97人洗澡从澡人人爽人人模 | 国产大秀视频一区二区三区 | 欧美视频在线观看免费精品欧美视频 | 国产美女一级高清免费观看 | 国产精品久久久久久久 | 麻豆综合网 | 人人插人人搞 | 特黄特黄视频 | 天天摸天天爽 | 久久综合色播 |