TorizonQt容器中文显示

供稿:韬睿(上海)计算机科技有限公司

  • 关键词:Torizon,嵌入式
  • 作者:By Toradex胡珊逢
  • 摘要:Torizon 系统的其中一个特色是以容器形式开发应用程序。Toradex 提供了丰富的基础 docker 镜像加速客户应用开发,这包括 Qt5。本文将介绍如何往 docker 镜像添加中文字体,并在 Qt 图形界面应用程序显示。


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 导入到容器内即可。



发布时间:2022年4月2日 12:06  人气:   审核编辑(王静 )
相关链接

我有需求