From 4e4dfbb640bb0f25f3acf849b8eb9627ea3dae7d Mon Sep 17 00:00:00 2001 From: sc <2401809606@qq.com> Date: Sat, 14 Mar 2026 23:30:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E5=AD=97=E9=94=AE?= =?UTF-8?q?=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/lvgl/guider/custom/custom.c | 18 +++++++++++ .../lvgl/guider/generated/setup_scr_screen.c | 2 +- .../lvgl/guider/generated/widgets_init.c | 31 +++++++++++++++++++ .../lvgl/guider/generated/widgets_init.h | 1 + 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/applications/lvgl/guider/custom/custom.c b/applications/lvgl/guider/custom/custom.c index a9c9e7f..4cc9de5 100644 --- a/applications/lvgl/guider/custom/custom.c +++ b/applications/lvgl/guider/custom/custom.c @@ -406,6 +406,24 @@ void custom_init(lv_ui *ui) lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,0,"步"); lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,1,"工艺"); + + + lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); /* Add your codes here */ } diff --git a/applications/lvgl/guider/generated/setup_scr_screen.c b/applications/lvgl/guider/generated/setup_scr_screen.c index fd2c4fc..f1f841c 100644 --- a/applications/lvgl/guider/generated/setup_scr_screen.c +++ b/applications/lvgl/guider/generated/setup_scr_screen.c @@ -7276,7 +7276,7 @@ void setup_scr_screen(lv_ui *ui) lv_textarea_set_accepted_chars(ui->screen_machine_id_rt, "0123456789"); lv_textarea_set_max_length(ui->screen_machine_id_rt, 2); #if LV_USE_KEYBOARD != 0 || LV_USE_ZH_KEYBOARD != 0 - lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); #endif lv_obj_set_pos(ui->screen_machine_id_rt, 150, 10); lv_obj_set_size(ui->screen_machine_id_rt, 200, 50); diff --git a/applications/lvgl/guider/generated/widgets_init.c b/applications/lvgl/guider/generated/widgets_init.c index 08e96d3..610d8c2 100644 --- a/applications/lvgl/guider/generated/widgets_init.c +++ b/applications/lvgl/guider/generated/widgets_init.c @@ -42,6 +42,37 @@ __attribute__((unused)) void ta_event_cb (lv_event_t *e) { if (code == LV_EVENT_CANCEL || code == LV_EVENT_DEFOCUSED) { +#if LV_USE_ZH_KEYBOARD != 0 + lv_zh_keyboard_set_textarea(kb, ta); +#endif +#if LV_USE_KEYBOARD != 0 + lv_keyboard_set_textarea(kb, ta); +#endif + lv_obj_move_background(kb); + lv_obj_add_flag(kb, LV_OBJ_FLAG_HIDDEN); + } +} +__attribute__((unused)) void ta_event_cb_NUMBER (lv_event_t *e) { + lv_event_code_t code = lv_event_get_code(e); +#if LV_USE_KEYBOARD || LV_USE_ZH_KEYBOARD + lv_obj_t *ta = lv_event_get_target(e); +#endif + lv_obj_t *kb = lv_event_get_user_data(e); + if (code == LV_EVENT_FOCUSED || code == LV_EVENT_CLICKED) + { +#if LV_USE_ZH_KEYBOARD != 0 + lv_zh_keyboard_set_textarea(kb, ta); +#endif +#if LV_USE_KEYBOARD != 0 + lv_keyboard_set_textarea(kb, ta); + lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_NUMBER); +#endif + lv_obj_move_foreground(kb); + lv_obj_clear_flag(kb, LV_OBJ_FLAG_HIDDEN); + } + if (code == LV_EVENT_CANCEL || code == LV_EVENT_DEFOCUSED) + { + #if LV_USE_ZH_KEYBOARD != 0 lv_zh_keyboard_set_textarea(kb, ta); #endif diff --git a/applications/lvgl/guider/generated/widgets_init.h b/applications/lvgl/guider/generated/widgets_init.h index def0fbb..e3035a4 100644 --- a/applications/lvgl/guider/generated/widgets_init.h +++ b/applications/lvgl/guider/generated/widgets_init.h @@ -18,6 +18,7 @@ extern "C" { __attribute__((unused)) void kb_event_cb(lv_event_t *e); __attribute__((unused)) void ta_event_cb(lv_event_t *e); +__attribute__((unused)) void ta_event_cb_NUMBER (lv_event_t *e); #if LV_USE_ANALOGCLOCK != 0 void clock_count(int *hour, int *min, int *sec); #endif