Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi
LittlevGL_LVGL
qrcode
Art-Pi学习笔记5_4:在littlevgl中显示二维码
发布于 2021-04-02 09:57:52 浏览:2523
订阅该版
开发板: ART-PI 开发环境: rtthread studio 之前分享的在lvgl中显示中文的文章中有一张显示图片中出现了一个二维码显示,有小伙伴问我是如何实现的,这里就将过程分享出来。 LVGL能否直接生成二维码显示呢?这个答案是肯定的,已经有大佬开源了相关的库,自己试了一下,颇为方便。这里将过程分享出来。 首先要下载库,地址如下:https://github.com/littlevgl/lv_lib_qrcode.git 下载完成之后,把压缩包解压出来的文件夹整个复制到工程目录下,这里是我的目录。 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/5ee9191562ddb170c92b89bd51d87017.png) 然后要添加编译路径,点击小扳手 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/08538f63c8d8a5bf345689c6b3075de9.png) 然后添加includes路径 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/9c54fe6dae95f06934e8ec88b819c372.png) 选择刚才解压的文件夹 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/8a3239dcdcbf8b4c691a00d677cb9bcb.png) 然后,就可以到lvgl的samples中添加相关的代码了。 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/a7d3fb2616e6ff8e384c1dca4bcbe0a3.png) 要在代码的前面添加include信息,包含头文件 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/01e928af70520be2186afbec5397506e.png) 然后我这里的做法是在页面中新建一个容器cont,然后在容器内新建一个二维码。二维码的数据内容是Hello World! This is a QR_Code Test! ![image.png](https://oss-club.rt-thread.org/uploads/20210402/a82ac55cb8579fce131991b72d2e4531.png) 这就是实际显示效果,通过手机扫描二维码得到的就是刚才编辑的信息内容 ![image.png](https://oss-club.rt-thread.org/uploads/20210402/67e2b974c5a4529a8d997804e5cb02e4.png) 下面是我的代码: ``` static void table_system_create(lv_obj_t* parent) { lv_page_set_scrl_layout(parent, LV_LAYOUT_PRETTY_TOP); lv_disp_size_t disp_size = lv_disp_get_size_category(NULL); lv_coord_t grid_h = lv_page_get_height_grid(parent, 1, 1); lv_coord_t grid_w = lv_page_get_width_grid(parent, 1, 1); lv_coord_t grid_h2 = lv_page_get_height_grid(parent, 2, 1); lv_coord_t grid_w2 = lv_page_get_width_grid(parent, 2, 1); // 显示二维码 lv_obj_t* qr_code = lv_cont_create(parent, NULL); lv_cont_set_layout(qr_code, LV_LAYOUT_PRETTY_MID); lv_obj_add_style(qr_code, LV_CONT_PART_MAIN, &style_box); lv_obj_set_drag_parent(qr_code, true); //lv_obj_set_style_local_value_str(qr_code, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, "Time"); lv_cont_set_fit2(qr_code, LV_FIT_NONE, LV_FIT_TIGHT); lv_obj_set_width(qr_code, grid_w2); lv_obj_set_height(qr_code, grid_w2); lv_obj_set_style_local_value_str(qr_code, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, "QR_Code"); const char* data = "Hello World! This is a QR_Code Test!"; //Create a 100x100 QR code lv_obj_t* qr = lv_qrcode_create(qr_code, grid_w2 - LV_DPX(30), LV_THEME_DEFAULT_COLOR_PRIMARY, lv_color_hex3(0xeef)); //Set data lv_qrcode_update(qr, data, strlen(data)); lv_obj_t* sys_info = lv_cont_create(parent, qr_code); lv_obj_set_style_local_value_str(sys_info, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, "System Information"); static lv_obj_t* lable_sys_info; // lable lable_sys_info = lv_label_create(sys_info, NULL); lv_obj_set_style_local_text_font(lable_sys_info, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &myFont); lv_label_set_text(lable_sys_info, "你好!\n这里是汉字显示例程!"); } ``` **相关文章:** [Art-Pi学习笔记10:优化多媒体扩展板的音频驱动添加录音功能](https://club.rt-thread.org/ask/article/2872.html) [Art-Pi学习笔记9:如何使用art-pi的多媒体扩展板播放TF卡中的音乐文件](https://club.rt-thread.org/ask/article/2849.html) [Art-Pi学习笔记9:如何为Art-pi的内部flash设置读保护](https://club.rt-thread.org/ask/article/2568.html) [Art_Pi学习笔记8:使用AHT10温湿度模块](https://club.rt-thread.org/ask/article/2543.html) [Art_Pi学习笔记7:自己添加硬件定时器设备HWTIMER](https://club.rt-thread.org/ask/article/2492.html) [Art_Pi学习笔记6:驱动PWM输出](https://club.rt-thread.org/ask/article/2483.html) [Art-Pi学习笔记5_4:在littlevgl中显示二维码](https://club.rt-thread.org/ask/article/2698.html) [Art-Pi学习笔记5_3:在littlevgl软件包中显示中文字体](https://club.rt-thread.org/ask/article/2695.html) [Art_Pi学习笔记5.2:LVGL模拟器安装在VS2019上的避坑指南](https://club.rt-thread.org/ask/article/2470.html) [Art_Pi学习笔记5.1:优化LVGL软件包提高刷屏的速度](https://club.rt-thread.org/ask/article/2464.html) [Art_Pi学习笔记5:移植LittleVGL2RTT软件包驱动多媒体扩展屏](https://club.rt-thread.org/ask/article/2434.html) [Art_Pi学习笔记4:驱动多媒体扩展版的LCD和触摸功能](https://club.rt-thread.org/ask/article/2436.html) [Art_Pi学习笔记3:学习驱动wifi模块AP6212](https://club.rt-thread.org/ask/article/2429.html) [Art_Pi学习笔记2:驱动片外SPI_FLASH_W25Q128](https://club.rt-thread.org/ask/article/2423.html) [Art-Pi学习笔记1:驱动SDIO和USB设备做TF读卡器](https://club.rt-thread.org/ask/article/2417.html)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
adaphoto
这家伙很懒,什么也没写!
文章
25
回答
44
被采纳
5
关注TA
发私信
相关文章
1
LittlevGL + DMA2D 显示图案扭曲
2
LittleVGL2RTT软件包还有在维护吗,测试遇到一些问题求解
3
使用littlevgl2rtt软件包实例运行不成功,emwin正常
4
关于littlevgl2rtt软件包刷频慢的解决方案?
5
移植了littlevGUI之后,用动态 线程去跑例程会卡死
6
lvgl的字体、图片文件如何升级?
7
qemu-vexpress-a9bsp下的littvgl工程可以实现触屏操作吗?
8
LVGL控件刷新死机问题
9
在lvgl上设置一个时间显示的label,一段时间后所有控件消失。
10
littlevgl2rtt和littlevgl的pc模拟器源码不兼容吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部