Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi
LittlevGL_LVGL
qrcode
Art-Pi学习笔记5_4:在littlevgl中显示二维码
发布于 2021-04-02 09:57:52 浏览:2603
订阅该版
开发板: ART-PI 开发环境: rtthread studio 之前分享的在lvgl中显示中文的文章中有一张显示图片中出现了一个二维码显示,有小伙伴问我是如何实现的,这里就将过程分享出来。 LVGL能否直接生成二维码显示呢?这个答案是肯定的,已经有大佬开源了相关的库,自己试了一下,颇为方便。这里将过程分享出来。 首先要下载库,地址如下:https://github.com/littlevgl/lv_lib_qrcode.git 下载完成之后,把压缩包解压出来的文件夹整个复制到工程目录下,这里是我的目录。  然后要添加编译路径,点击小扳手  然后添加includes路径  选择刚才解压的文件夹  然后,就可以到lvgl的samples中添加相关的代码了。  要在代码的前面添加include信息,包含头文件  然后我这里的做法是在页面中新建一个容器cont,然后在容器内新建一个二维码。二维码的数据内容是Hello World! This is a QR_Code Test!  这就是实际显示效果,通过手机扫描二维码得到的就是刚才编辑的信息内容  下面是我的代码: ``` 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
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
9
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部