WeStudio技术社区

 找回密码
 立即注册

快捷登录

QQ登录

只需一步,快速开始

查看: 121|回复: 0

一代屏CTP协议如何显示多国语言?

[复制链接]

103

主题

49

回帖

1146

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1146
发表于 2025-7-22 15:54:34 | 显示全部楼层 |阅读模式
本帖最后由 hixon 于 2025-7-22 15:58 编辑

【问题描述】
由于一代屏并没有做多语言的支持,另外屏上固件默认的编码格式是GBK,所以没法通过CTP的方式来接收utf-8格式的文字内容。
比如我们想通过CTP协议,让页面中间的按钮显示葡萄牙语的“Manutenção”, 那正常情况下,我们在单片机上给一代屏幕发送的内容应该类似 “main_button.text='Manutenção';”,但是屏幕接收到后,显示的内容并不是预期,如:
1.png

【解决方案】
我们可以通过拖入一个隐藏的标签来曲线救国达到我们想要的效果:
1. 从控件列表拖入一个标签 main_label, 把它的文字属性设为 "Manutenção", 把可见属性勾选去掉,让它变成在界面上不可见。
2.png


2. 在单片机中发送如下的指令:
printf("main_button.text=main_label.text;\r\n");


3. 我们在模拟器中模拟一下,可以看到已经是我们预期的显示效果了。
3.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|物一世(北京)科技有限公司 ( 京ICP备20025895 )

GMT+8, 2025-8-2 23:31 , Processed in 0.012832 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表