工控網首頁
>

應用設計

>

TorizonQt容器中文顯示

TorizonQt容器中文顯示

Torizon 系統的其中一個特色是以容器形式開發應用程序。Toradex 提供了豐富的基礎 docker 鏡像加速客戶應用開發,這包括 Qt5。本文將介紹如何往 docker 鏡像添加中文字體,并在 Qt 圖形界面應用程序顯示。

 

Torizon 的容器是基于 debian 構建,因此可以從豐富的 debian 軟件源受益,用戶能夠通過 apt 命令安裝任何支持 Arm 處理器的軟件。有些字體文件也可以通過這種方法安裝。例如支持中文的開源字體文泉驛。

 

 Torizon 中創建一個 debian 容器,并啟動 bash 工具。

-------------------------------------------------

$ docker run -it --rm torizon/debian:$CT_TAG_DEBIAN /bin/bash

-------------------------------------------------

 

然后通過 apt 命令安裝文泉驛字體,最后字體文件會出現在 /usr/share/fonts/truetype/ 目錄下。

-------------------------------------------------

root@acd322ec8e84:/# apt update

root@acd322ec8e84:/# apt install fonts-wqy-microhei

root@acd322ec8e84:/usr/share/fonts/truetype/wqy# ls

wqy-microhei.ttc

-------------------------------------------------

 

對于用戶界面設計來講,為了提升交互體驗,通常會使用特定的字體,而這些字體可能無法通過 apt 命令從 debian 軟件源安裝。這時候就需要手動導入字體文件。下面將介紹這一過程。演示的 Qt5 應用程序將使用小米字體,這是一個可以免費商用的字體。

 

根據這里的說明創建一個 QML C/C++ 工程,然后簡單修改 Torizon Extension 自動生成的 cpp 和 qml 文件,增加中文顯示內容。當然也可以直接將該示例工程導入后使用,或者對照修改。

 

Torizon Extension 提供豐富的功能令用戶可以定制所需的 docker 容器。application.buildfiles 可以在構建容器的時候使用 COPY 或者 ADD 命令添加文件。將需要添加的文件復制到工程目錄下的 appconfig_0 文件夾中。這里我們使用 MiSans-Regular.ttf 文件,并將其重命名為 MiSans.ttf。

TorizonQt容器中文顯示_web1625.png 

 

 buildfiles 中配置COPY MiSans.ttf /usr/share/fonts/ttf/

TorizonQt容器中文顯示_web1682.png 

 

 Qt 演示程序中我們使用了 qtquick-controls2 組件,因此在 extrapackages 中將其添加進來。

qml-module-qtquick2 qml-module-qtquick-window2 qml-module-qtquick-controls2

TorizonQt容器中文顯示_web1825.png 

 

然后依次執行 Terminal → Run Task → build_debug 編譯 Qt 應用。

TorizonQt容器中文顯示_web1879.png    TorizonQt容器中文顯示_web1884.png

 

最后按 F5 開啟調試。最后在顯示器可以看到運行的 Qt 程序。

TorizonQt容器中文顯示_web1988.png

 

 

 

總結

 Torizon 的 Qt 應用容器中使用中文字體,對于 Qt 代碼來是透明,也無需修改代碼。用戶只要將字體文件通過  Torizon Extension 導入到容器內即可。


審核編輯(
王靜
)
投訴建議

評論

查看更多評論
其他資訊

查看更多

IoT 安全系列博文第三篇 軟件更新安全:常見的錯誤

IoT 安全系列博文第二篇: 遠程更新的危險

為什么我們需要遠程自動更新互聯設備?

基于NXP iMX6ULL 擴展音頻解碼器 MAX98357A

導入C_C++應用到Torizon