Qt 中顯示中文


這塊網上找到很多文章,也是按照網上的做的,但是有很多不成功,這里把自己成功的總結下。在Qt中使用中文,按照網上的很多方法,Ubuntu中顯示正常,但是移植到開發板上顯示有問題,這里根據我的操作做個整理。

顯示中文主要是兩點,一是編碼,而是字體。

關於編碼網上查的資料各種說法都有,utf8 gbk gb2312的,我用的是utf8.

開發板上必須也有對應的中文字體才能夠顯示中文,我這里在Ubuntu 12.04的安裝目錄中usr/share/fonts/truetype/wqy目錄下,將這個拷貝到開發板Qt庫中的字體庫中,注意要將Qt的字體路徑加入環境變量QT_QWS_FONTDIR=/opt/qt-4.8.4/lib/fonts

image

最后,在主函數中加入代碼即可:

#include "widget.h"
#include <QApplication>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec *codec = QTextCodec::codecForName("utf8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
    QFont font;
    font.setFamily(("wqy-microhei"));
    Widget w;
    w.setWindowFlags(Qt::FramelessWindowHint);

    w.show();
    
    return a.exec();
}

在使用的時候使用tr宏例如ui->statelabel->setText(tr("攝像頭已經運行!"))

這樣在開發板上運行的時候就可以使用中文字體,而且不會有字體大小以及排版等方面的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM