Qt是面向?qū)ο蟮目蚣埽赨buntu中能夠中文顯示,但將Qt移植到開發(fā)板中卻無(wú)法中文顯示,那么要如何讓Qt也能在開放板上顯示中文呢?下面小編就給大家介紹下Ubuntu Qt移植到開發(fā)板顯示中文的方法。
顯示中文主要是兩點(diǎn),一是編碼,而是字體。
關(guān)于編碼網(wǎng)上查的資料各種說(shuō)法都有,utf8 gbk gb2312的,我用的是utf8.
開發(fā)板上必須也有對(duì)應(yīng)的中文字體才能夠顯示中文,我這里在Ubuntu 12.04的安裝目錄中usr/share/fonts/truetype/wqy目錄下,將這個(gè)拷貝到開發(fā)板Qt庫(kù)中的字體庫(kù)中,注意要將Qt的字體路徑加入環(huán)境變量QT_QWS_FONTDIR=/opt/qt-4.8.4/lib/fonts
最后,在主函數(shù)中加入代碼即可:
#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();
}
在使用的時(shí)候使用tr宏例如ui-》statelabel-》setText(tr(“攝像頭已經(jīng)運(yùn)行!”))
這樣在開發(fā)板上運(yùn)行的時(shí)候就可以使用中文字體,而且不會(huì)有字體大小以及排版等方面的問(wèn)題。
上面就是Linux Qt移植到開發(fā)板顯示中文的方法介紹了,主要是開發(fā)板中沒有對(duì)應(yīng)的中文字體所導(dǎo)致的,只需將Qt的字體路徑導(dǎo)入到開發(fā)板中即可。