I ran into a bug with widget alignment in GUI Guider 1.7.0. I started with a blank template, created a simple menu, but then when I try to add any widgets to the menu pages, they're always centered in the middle of the page no matter what position I set them to. If I drag them around, the position in the properties text box changes, but the widget is always displayed in the same position in the center. If I add more widgets, they get added below the previous one, still centered in the middle. I tried changing alignment options for both the widgets and menu using the top buttons in the properties view, but those had absolutely no effect. See screenshot for an example.
Hello,
This is the best place to share this information! Could you please provide more information about these two behaviors that you are reporting?
Regards,
Victor
In LVGL, the API for labels allow you to put LV_SYMBOL_X in the label to allow an icon to be used inside of the label. I tried a couple different ways of inserting that Definition into the label, but couldn't get it to work.
Here is the post in LVGL documentation about the label and symbols:
https://docs.lvgl.io/latest/en/html/widgets/label.html?highlight=label#symbols
Below is the special font constants:
https://docs.lvgl.io/latest/en/html/overview/font.html#special-fonts
For number 2 the size of the text isn't exported on lists even though it was explicitly changed.
Here's a test list and the code snippet from export. There is no: "lv_style_set_text_font"
//Write codes Menu_list3
ui->Menu_list3 = lv_list_create(ui->Menu, NULL);
lv_list_set_edge_flash(ui->Menu_list3, true);
lv_list_set_anim_time(ui->Menu_list3, 255);
//Write style LV_LIST_PART_BG for Menu_list3
static lv_style_t style_Menu_list3_bg;
lv_style_init(&style_Menu_list3_bg);
//Write style state: LV_STATE_DEFAULT for style_Menu_list3_bg
lv_style_set_radius(&style_Menu_list3_bg, LV_STATE_DEFAULT, 3);
lv_style_set_border_color(&style_Menu_list3_bg, LV_STATE_DEFAULT, lv_color_make(0xe1, 0xe6, 0xee));
lv_style_set_border_width(&style_Menu_list3_bg, LV_STATE_DEFAULT, 1);
lv_obj_add_style(ui->Menu_list3, LV_LIST_PART_BG, &style_Menu_list3_bg);
//Write style LV_LIST_PART_SCROLLABLE for Menu_list3
static lv_style_t style_Menu_list3_scrollable;
lv_style_init(&style_Menu_list3_scrollable);
//Write style state: LV_STATE_DEFAULT for style_Menu_list3_scrollable
lv_style_set_radius(&style_Menu_list3_scrollable, LV_STATE_DEFAULT, 3);
lv_style_set_bg_color(&style_Menu_list3_scrollable, LV_STATE_DEFAULT, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_bg_grad_color(&style_Menu_list3_scrollable, LV_STATE_DEFAULT, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_bg_grad_dir(&style_Menu_list3_scrollable, LV_STATE_DEFAULT, LV_GRAD_DIR_VER);
lv_style_set_bg_opa(&style_Menu_list3_scrollable, LV_STATE_DEFAULT, 255);
lv_obj_add_style(ui->Menu_list3, LV_LIST_PART_SCROLLABLE, &style_Menu_list3_scrollable);
//Write style LV_BTN_PART_MAIN for Menu_list3
static lv_style_t style_Menu_list3_main_child;
lv_style_init(&style_Menu_list3_main_child);
//Write style state: LV_STATE_DEFAULT for style_Menu_list3_main_child
lv_style_set_radius(&style_Menu_list3_main_child, LV_STATE_DEFAULT, 3);
lv_style_set_bg_color(&style_Menu_list3_main_child, LV_STATE_DEFAULT, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_bg_grad_color(&style_Menu_list3_main_child, LV_STATE_DEFAULT, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_bg_grad_dir(&style_Menu_list3_main_child, LV_STATE_DEFAULT, LV_GRAD_DIR_VER);
lv_style_set_bg_opa(&style_Menu_list3_main_child, LV_STATE_DEFAULT, 255);
lv_style_set_text_color(&style_Menu_list3_main_child, LV_STATE_DEFAULT, lv_color_make(0x0D, 0x30, 0x55));
lv_obj_set_pos(ui->Menu_list3, 0, 18);
lv_obj_set_size(ui->Menu_list3, 239, 302);
lv_obj_t *Menu_list3_btn;
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_PLAY, "TEST");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_DRIVE, "DATA");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_WIFI, "Wireless Config");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_UPLOAD, "Transfer DATA");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_LIST, "Config DATA");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_SETTINGS, "Settings");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Menu_list3_btn = lv_list_add_btn(ui->Menu_list3, LV_SYMBOL_POWER, "Power OFF");
lv_obj_add_style(Menu_list3_btn, LV_BTN_PART_MAIN, &style_Menu_list3_main_child);
Thanks for clarifying the information! I will review it and pass the feedback to the corresponding team!
Regards,
Victor
Hi Victor,
The Spinbox element does not support a 0 decimal, but the lvgl docs do.
Hello,
Thanks for reporting this! I already passed the feedback to the developers.
Regards,
Victor
Hey Victor the list object is designed to work as a menu in most cases. However, GUI GUIDER doesn't allow events to be on individual list buttons -- but LVGL documents do -- and it's pretty expected to work that way.
Here are the list docs:
https://docs.lvgl.io/latest/en/html/widgets/list.html#events
Here's the events supported:
https://docs.lvgl.io/latest/en/html/overview/event.html
Here's a demo:
Hi Joshua,
We have investigated the issues reported by you, can you please take a look my comments.
1. Labels allow for Symbols to be added in LVGL, but the symbol constants do not take
The symbol can be added in label, the following is my test code, can you please double check?
lv_obj_t *label = lv_label_create(lv_scr_act(), NULL);
lv_obj_set_size(label, 50, 20);
lv_label_set_text(label, LV_SYMBOL_AUDIO);
2. Size of text style does not seem to be exported in the list widget
This is a bug of GUI Guider, we will fix it in v1.2.0 release.
3. The Spinbox element does not support a 0 decimal, but the lvgl docs do.
I can't understand the issue, can you please provide more details.
4: The list object is designed to work as a menu in most cases, GUI GUIDER doesn't allow events to be on individual list buttons
We will support the event setting for individual buttons in v1.2.0
Best Regards,
Zhenhua