Qt移植到ARM平臺以后,自帶的字庫并不能很好的支持中文字體的顯示,為了方便客戶的開發工作,英創公司在嵌入式主板Qt Embedded的字庫中加入了一些字體文件,經過測試,英創嵌入式主板Qt Embedded已經能夠很好的支持中文字體的顯示,并且可以自己改變字體大小和顏色。
當然如果客戶希望使用一些不同的字體,可以將需要的字體文件拷貝至主板的/opt/qt-4.5/lib/font/目錄下,在Qt的應用程序中指定要使用的字體即可。下面說明一下程序上的實現。
在Qt creator中創建新的項目,添加main.cpp文件。每一個使用Qt的應用程序都必須包含QApplication,它管理了各種各樣的資源。在Qt Embedded中,還需要包含QWSServer,因為在嵌入式平臺, QT會是以QWS方式運行。所以至少需要包含這兩個頭文件:
#include
#include
在Qt中,每一個類都有一個與其同名的頭文件,這里我們可以使用QDialog類和QLable類來顯示最簡單幾個漢字,所以加上:
#include
#include
接下來就是C++中最常見到的main()函數,首先需要的是創建一個QApplication類對象,用于管理應用程序資源,注意,任何一個Qt程序都要有一個QApplication類對象。接著創建一個QDialog類和一個 QLable類,我們讓QLable類作為子窗口顯示在QDialog類中,代碼如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog w;
QLabel label(&w);
}
下面在label中顯示幾個簡單的漢字,并移動到我們想要的位置,繼續在main()函數中代碼如下:
label.setText(QObject::tr('Hello World! 你好Qt!'));
label.move(120, 120);
接下來可以指定字體,設置大小和顏色,指定字體的語句為:
w.setFont(QFont('simsun_2_50',11,QFont::Normal))
QPalette pe;
pe.setColor(QPalette::WindowText,Qt::blue);
label.setPalette(pe);
這里的“simsun_2_50”是英創公司加入的中文字體,根據需要跟改為客戶自己拷貝的字體文件名稱,“11”是字體大小,“Normal”指正常字體(不加粗),blue為顏色。
最后我們要使用show()函數讓他們都顯示出來,并且讓QApplication對象進入時間循環:
w.show();
return a.exec();
編譯完成,在英創嵌入式主板中運行,就能在LCD上面顯示“Hello World! 你好Qt!”了,這里英創公司基于中文顯示,做了一個演示的界面。
下面就是一個在EM335x主板上面運行中文顯示的示例:

EM335x主板上Qt演示效果
-
嵌入式主板
+關注
關注
7文章
6107瀏覽量
37071
發布評論請先 登錄
OBOO鷗柏丨國產信創顯示屏電容觸控廣告信息大屏展示終端發展趨勢
國產金融主板:賦能智慧金融,驅動信創產業升級
龍芯中科成功舉辦2025信息技術應用創新產教融合交流會
龍芯中科助力2025教育信息技術應用創新大賽成功舉辦
新時代的硬核基石:龍芯工控主板助力信創產業新基建
寶馬南京信息技術有限公司開業
RK3506開發板QT Creator開發手冊,交叉編譯工具鏈與QT應用示例,入門必備
智慧新核心,龍芯主板助力信創體系再升級
佛瑞亞如何通過信息技術推動業務增長
飛騰主板為信創產業發展提高硬實力
信創浪潮澎湃,國產主板迎來黃金時代!
DEKRA德凱成為沙特通信和信息技術設備技術法規認證機構
科普|信創是什么?一文讀懂“信息技術應用創新”戰略
英創信息技術主板Qt Embedded中文顯示示例
評論