QT6在RK3568上运行显示中文乱码解决方法

表现为显示几个黑框,完全看不出什么。

排查步骤:

第一步 首先排查是不是系统库问题,先看英文能否正常显示,将qml代码中的中文改成英文字符。

发现也无法正常显示。

注意观察出错信息,

从 Qt 5.15 开始,Qt 不再自带字体,需要手动添加字体库。您可以按照以下步骤来解决这些问题:

1. 安装字体

可以从 DejaVu Fonts 或其他字体源(例如思源黑体、WenQuanYi)下载合适的字体文件(如 .ttf 格式),并将它们放入 Qt 的字体目录中。

2. 创建字体目录并添加字体

第一步可以跳过,直接利用系统中的库;

在Qt 安装路径中创建 fonts 目录,并将字体文件放入其中:

mkdir /usr/local/Qt-6.5.3/lib/fonts
cp /usr/share/fonts/truetype/ubuntu/*.ttf /usr/local/Qt-6.5.3/lib/fonts/
再次编译,运行,英文显示正常。

所以应该是中文字库的问题。

     为了正确显示中文字符,将中文字体库加入到Qt的字体目录。可以从常用的字体库(如SimSun、SimHei、Noto Sans CJK或Source Han Sans)中选择适合的字体文件,并将其放置到Qt的字体目录中。例如,将字体文件复制到 /usr/local/Qt-6.5.3/lib/fonts 目录。

接下来的问题是如何找到中文字符,最简单的方法是从windows系统拷贝一个simsun.ttf

获取 simsun.ttf 文件

  • 从 Windows 系统中获取该文件。它通常位于 C:\Windows\Fonts\simsun.ttf
  • simsun.ttf 文件复制到的 Linux 系统上。

重新运行程序,可以正常显示中文。

总结:

正常显示的字体库中的内容为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值