日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

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文件拷貝到文件系統中運行,你就可以看到一個漢化的節面了。

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 杨紫和肖战演的电视剧是什么 | 749局啥时候上映| 张俪作品| 菊次郎的夏天钢琴曲谱| 速度与激情:特别行动 电影| 扑克牌悬浮魔术教程| 抖音手机网页版入口| 妈妈你真棒韩国电影免费观看完整版| 《美景之屋| 肉丝祙挠脚心丨ⅴk| 朱丽安·摩尔| 潘雨辰主演的电视剧大全| 曾生| 士兵突击演员| 七年级的英语翻译全书| 女孩阴道| 远古的传说| 蕾切尔·布罗斯纳罕| 小虎队《爱》歌词| 黄网站免费在线看| derpixon动画在线观看| 百家讲坛《两宋风云》| 暗潮危机电影完整版在线观看| 哥谭演员表| 一张图看懂军衔| 《狂赌之渊》动漫| 黄土高坡歌词| 美国电影《超能力》免费观看| 张达| 漂亮孕妇突然肚子疼视频| 孽子 电影| 色戒在线观看汤唯| 金鸳鸯| 五亿探长雷洛传| 抖音抖音| 芜湖新闻| 大雄的恐龙| 南游记电视剧全集第30集| 山西少儿频道| 太深了太爽了受不了了| 宁静演的电视剧|