Qt是面向對象的框架,在Ubuntu中能夠中文顯示,但將Qt移植到開發板中卻無法中文顯示,那麼要如何讓Qt也能在開放板上顯示中文呢?下面小編就給大家介紹下Ubuntu Qt移植到開發板顯示中文的方法。
顯示中文主要是兩點,一是編碼,而是字體。
關於編碼網上查的資料各種說法都有,utf8 gbk gb2312的,我用的是utf8.
開發板上必須也有對應的中文字體才能夠顯示中文,我這裡在Ubuntu 12.04的安裝目錄中usr/share/fonts/truetype/wqy目錄下,將這個拷貝到開發板Qt庫中的字體庫中,注意要將Qt的字體路徑加入環境變量QT_QWS_FONTDIR=/opt/qt-4.8.4/lib/fonts
最後,在主函數中加入代碼即可:
#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(“攝像頭已經運行!”))
這樣在開發板上運行的時候就可以使用中文字體,而且不會有字體大小以及排版等方面的問題。
上面就是Linux Qt移植到開發板顯示中文的方法介紹了,主要是開發板中沒有對應的中文字體所導致的,只需將Qt的字體路徑導入到開發板中即可。