avatar

松果工作室

欢迎光临

  • 首页
  • freeRTOS
  • LVGL
  • ESP
  • 开发手册
  • 快速笔记
  • 个人收藏
  • 时事记录
  • 考察日志
  • 工具
Home LVGL(一) 创建对象
文章

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;  // 返回新创建的屏幕对象
}
坑和笔记
ESP LVGL
License:  CC BY 4.0
Share

Further Reading

Dec 23, 2024

其他笔记

EC800K AT连接移远云 配置过程 # 配置产品信息(初次连接需配置) AT+QIOTCFG="productinfo","pxxxxt","cDVTxxxxxxxxWGVB" # 连接开发者中心 AT+QIOTREG=1 # 查询当前连接状态(+QIOTSTATE: 8为正常) AT+QI

Jun 21, 2024

环形滤波算法

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

Jun 17, 2024

STM32 ADC采集的三种方式

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

OLDER

LVGL 移植

NEWER

LVGL 对接键盘接口

Recently Updated

  • ESP32(十) BLE OTA
  • ESP32(九) BLE GATTS
  • LVGL(四) 动画
  • LVGL(三) 对象中创建对象
  • LVGL(二) 定时回调

Trending Tags

LVGL WCH Linux Elec freeRTOS STM ESP Flutter Others SwiftUI

Contents

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

Using the Halo theme Chirpy