m0_60251057 2025-04-21 16:12 采纳率: 0%
浏览 82
已结题

lvgl8.3自定义图标

基于windows模拟lvgl8.3,关于lvgl自定义图标,我参照此博主的教程但无法显示图标,显示的是口,像是没在字库里找到?
https://blog.csdn.net/weixin_63096487/article/details/134578619?fromshare=blogdetail&sharetype=blogdetail&sharerId=134578619&sharerefer=PC&sharesource=m0_60251057&sharefrom=from_link
我的项目中文字库文件跟图标文件是分开的,中文字库就按照流程然后再lv_conf.h中定义如下,是能正常显示的中文字符。
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(test_font)
/Always set a default font/
#define LV_FONT_DEFAULT &test_font
关于图标我也是按照流程,但却无法显示,图标头文件如下


```c
#ifndef __SYMBOL_TEST__
#define __SYMBOL_TEST__
#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl/lvgl.h"

    //声明字体
LV_FONT_DECLARE(symbol_test);


#define LV_CUSTOM_SYMBOL_ADVANCED            "\xEE\x9D\xAA"     //Unicode:0xe76a
#define LV_CUSTOM_SYMBOL_INPUT              "\xEE\xB4\x9E"     //Unicode:0xed1e
#define LV_CUSTOM_SYMBOL_AUDIO              "\xEE\x98\xB4"     //Unicode:0xe634
#define LV_CUSTOM_SYMBOL_LAYER              "\xEE\xA0\x8D"     //Unicode:0xe80d


#ifdef __cplusplus
}
#endif

#endif 
#pragma once

```

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-21 16:13
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    lvgl8.3自定义图标

    你遇到了lvgl8.3自定义图标的问题,按照博主的教程无法显示图标,显示的是一个口,可能是字库中找不到的问题。

    lvgl8.3自定义图标需要在字库中添加自定义图标,然后在lvgl中使用该图标。下面是一些可能解决问题的步骤:

    1. 确认字库中添加了自定义图标,检查字库文件是否正确。
    2. 在lvgl中使用自定义图标,使用lv_img_load函数加载自定义图标,例如:
    lv_img_dsc_t img;
    img.data = your_icon_data; // your_icon_data是自定义图标的数据
    img.w = your_icon_width; // your_icon_width是自定义图标的宽度
    img.h = your_icon_height; // your_icon_height是自定义图标的高度
    lv_img_load(&img);
    
    1. 在lvgl中使用自定义图标,使用lv_obj_add_img函数添加自定义图标到对象中,例如:
    lv_obj_t *obj = lv_obj_create(lv_scr_act(), NULL);
    lv_obj_add_img(obj, &img);
    
    1. 检查lvgl的日志是否有错误信息,如果有错误信息,可以根据错误信息解决问题。

    如果以上步骤都无法解决问题,可以提供更多的代码和日志信息,以便更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月21日
  • 创建了问题 4月21日