news 2026/6/23 19:50:44

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十讲)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十讲)

这一期讲解的控件是二维码,二维码是一种基于矩阵排列的二维条码技术,它以矩阵的形式存储数据,与传统的条形码相比,二维码可以存储更多的信息,并且能够处理数字、字母和汉字等多种数据类型。二维码由寻像图形、定界符、数据区和校验码等部分组成。其中,寻像图形用于帮助扫描设备定位二维码的边缘,定界符明确二维码的大小和编码区域,数据区则包含了实际的编码信息,校验码则用于错误检测和纠正。
在lvgl中生成二维码需要使用 nayuki 的 QR-Code-generator 码生成器。
以下是在guider的平台使用:

1.lvgl中的二维码使用流程

(1)在 lv_conf.h 中启用 LV_USE_QRCODE 。
(2)函数 lv_qrcode_create() 创建二维码对象,函数 lv_qrcode_update() 以生成二维码。
(3)使用 lv_qrcode_set_size() 和 lv_qrcode_set_dark_color() 或 lv_qrcode_set_light_color()函数修改尺寸和颜色,最后使用 lv_qrcode_update() 以重新生成(刷新)新的二维码。

2.代码
//Write style for screen_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
//设置screen1背景样式 完全不透明 白色背景 无渐变效果
lv_obj_set_style_bg_opa(ui->screen_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui->screen_1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_dir(ui->screen_1, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);

//Write codes screen_1_lottie_1

ui->screen_1_lottie_1 = lv_rlottie_create_from_raw(ui->screen_1, 338, 282, “”);
//设置位置以及大小
lv_obj_set_pos(ui->screen_1_lottie_1, 74, 78);
lv_obj_set_size(ui->screen_1_lottie_1, 338, 282);

//Write style for screen_1_lottie_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
//设置背景透明度
lv_obj_set_style_bg_opa(ui->screen_1_lottie_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);

//Write codes screen_1_qrcode_1
//创建二维码组件
ui->screen_1_qrcode_1 = lv_qrcode_create(ui->screen_1, 300, lv_color_hex(0x2C3224), lv_color_hex(0xffffff));
//设置二维码内容
const char * screen_1_qrcode_1_data = “https://www.baidu.com/”;
lv_qrcode_update(ui->screen_1_qrcode_1, screen_1_qrcode_1_data, strlen(screen_1_qrcode_1_data));
//设置位置以及大小
lv_obj_set_pos(ui->screen_1_qrcode_1, 87, 92);
lv_obj_set_size(ui->screen_1_qrcode_1, 300, 300);
本文章由威三学社出品
对课程感兴趣可以私信联系

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 8:34:38

热销榜单:2025年高口碑数字人推荐,解决你的选择难题!

在这个数字化时代,选择合适的数字人产品变得尤为重要。本文将为你盘点2025年高口碑的数字人TOP10,帮助你找到最值得信赖的产品。无论是功能强大还是使用便捷,这些精选产品都在全网热议中备受关注。了解这些产品的特性,让你做出明智…

作者头像 李华
网站建设 2026/6/23 19:47:21

应“双碳”考核!安科瑞通信机房能耗监测方案,让PUE管控精准落地

唐雪阳安科瑞电气股份有限公司 上海嘉定 201801当5G网络加速渗透、数据中心规模呈爆发式增长,通信机房作为数字经济的“核心枢纽”,正面临着能耗与日俱增的严峻挑战。机房内服务器、空调、UPS等设备24小时不间断运行,能源消耗分散且管控难度…

作者头像 李华
网站建设 2026/6/23 19:47:18

1天净流入10亿!A500ETF南方凭什么成为布局中国核心资产的优选?

近期A股市场暖风频吹,政策发力、新质生产力加速崛起,中长期布局窗口已然打开。而在众多投资工具中,一只中盘宽基ETF意外“出圈”。12月8日,A500ETF南方(交易代码:159352)单日份额激增8.19亿份&a…

作者头像 李华
网站建设 2026/6/23 14:00:29

Android 基础入门教程之RelativeLayout(相对布局)

2.2.2 RelativeLayout(相对布局) 本节引言 在上一节中我们对LinearLayout进行了详细的解析,LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearL…

作者头像 李华
网站建设 2026/6/23 21:45:45

基于微信小程序的跑腿系统的设计与实现毕业设计项目源码

题目简介在同城生活服务需求日益碎片化、即时化的背景下,传统线下跑腿模式存在需求对接效率低、订单管控无体系、配送过程不透明、费用结算不规范等痛点,难以满足用户对代买、代取、代送等即时性服务的需求,也制约了跑腿行业的规模化、规范化…

作者头像 李华
网站建设 2026/6/23 19:47:08

基于SpringBoot的社区老年人健康知识阅读分享管理系统毕业设计项目源码

题目简介在人口老龄化加剧、社区老年人健康知识获取渠道零散、信息甄别能力弱、健康交流场景缺失的背景下,基于 SpringBoot 的社区老年人健康知识阅读分享管理系统的构建具有重要现实意义与社会价值:从老年人群体来看,系统整合适老化的健康知…

作者头像 李华