toradex的个人空间 https://blog.eetop.cn/1539194 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

TorizonQt容器中文显示

已有 451 次阅读| 2022-4-2 12:05 |系统分类:嵌入式| Torizon

By Toradex胡珊逢

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




点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 0

    好友
  • 1

    获赞
  • 2

    评论
  • 13923

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 23:22 , Processed in 0.014722 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部