avatar

松果工作室

欢迎光临

  • 首页
  • ESP
  • LVGL
  • freeRTOS
  • 快速笔记
  • 考察日志
  • 个人收藏
  • 我的服务
Home (ESP-IDF)LVGL创建对象
文章

(ESP-IDF)LVGL创建对象

Posted 2024-04-11 Updated 2025-06- 14
By YCP
5~6 min read

创建一个对象

#include "lvpage_setting.h"
#include "lvgl.h"
#include "esp_log.h"

static char *TAG = "lvpage_setting";

static void settings_event_handler(lv_event_t *e) {
    if (e->code == LV_EVENT_CLICKED) {
        ESP_LOGI(TAG, "[SETTINGS] Icon clicked!\r\n");  // 打印LOG
    }
}

lv_obj_t *lv_example_settings_page(lv_obj_t *scr) {
    // 在父对象上创建一个对象
    lv_obj_t * settings_icon = lv_label_create(scr);
    // 这个对象为一个图标
    lv_label_set_text(settings_icon, LV_SYMBOL_SETTINGS);

    // 这个对象可以点击
    lv_obj_add_flag(settings_icon, LV_OBJ_FLAG_CLICKABLE);
    // 点击之后触发settings_event_handler回调
    lv_obj_add_event_cb(settings_icon, settings_event_handler, LV_EVENT_CLICKED, NULL);

    // 统一添加样式
    static lv_style_t icon_style;
    lv_style_init(&icon_style);
    lv_style_set_align(&icon_style,LV_ALIGN_CENTER);
    lv_style_set_text_color(&icon_style, lv_color_hex(0x3498db));
    lv_style_set_text_font(&icon_style, &lv_font_montserrat_48);
    lv_obj_add_style(settings_icon, &icon_style, LV_PART_MAIN);

    return scr;  // 返回新创建的屏幕对象
}
坑和笔记
LVGL ESP
License:  CC BY 4.0
Share

Further Reading

Sep 27, 2025

(LIB)一个好用的Modbus解析函数

一个好用的Modbus解析函数 包含03/10/04/06 #include <stdio.h> #include <stdint.h> #include <string.h> #

Jun 21, 2024

(LIB)环形滤波算法

#include <stdio.h> #include <stdlib.h> #define BUFFER_SIZE 10 // 缓冲区大小 #define THRESHOLD 180

Jun 17, 2024

(STM32)STM32 ADC采集的三种方式

采样周期 单个采集模式 ADC_Settings: 程序使用 uint16_t ADC_Read(

OLDER

(ESP-IDF)LVGL 对接键盘接口

NEWER

(ESP-IDF)LVGL 移植

Recently Updated

  • (ESP-IDF)LVGL 模拟器
  • (ESP-IDF)LVGL 自定义对象加入编码器组
  • (ESP-IDF)vscode配置文件
  • (Elec)来复再生式晶体管单管收音机
  • (ESP-IDF)ESPNOW

Trending Tags

LVGL WCH Linux Elec ThatProject freeRTOS STM ESP Flutter Others

Contents

©2026 松果工作室. Some rights reserved.

Using the Halo theme Chirpy