Menu (lv_menu)¶
Overview¶
The menu widget can be used to easily create multi-level menus. It handles the traversal between pages automatically.
Parts and Styles¶
The menu widget is built from the following objects:
Usage¶
Create a menu¶
lv_menu_create(parent) creates a new empty menu.
Header mode¶
The following header modes exist:
LV_MENU_HEADER_TOP_FIXEDHeader is positioned at the top.LV_MENU_HEADER_TOP_UNFIXEDHeader is positioned at the top and can be scrolled out of view.LV_MENU_HEADER_BOTTOM_FIXEDHeader is positioned at the bottom.
You can set header modes with lv_menu_set_mode_header(menu, LV_MENU_HEADER...).
Root back button mode¶
The following root back button modes exist:
LV_MENU_ROOT_BACK_BTN_DISABLEDLV_MENU_ROOT_BACK_BTN_ENABLED
You can set root back button modes with lv_menu_set_mode_root_back_btn(menu, LV_MENU_ROOT_BACK_BTN...).
Create a menu page¶
lv_menu_page_create(menu, title) creates a new empty menu page.
You can add any widgets to the page.
Set a menu page in the main area¶
Once a menu page has been created, you can set it to the main area with lv_menu_set_page(menu, page). NULL to clear main and clear menu history.
Set a menu page in the sidebar¶
Once a menu page has been created, you can set it to the sidebar with lv_menu_set_sidebar_page(menu, page). NULL to clear sidebar.
Linking between menu pages¶
For instance, you have created a btn obj in the main page. When you click the btn obj, you want it to open up a new page, use lv_menu_set_load_page_event(menu, obj, new page).
Create a menu container, section, separator¶
The following objects can be created so that it is easier to style the menu:
lv_menu_cont_create(parent page) creates a new empty container.
lv_menu_section_create(parent page) creates a new empty section.
lv_menu_separator_create(parent page) creates a separator.
Events¶
LV_EVENT_VALUE_CHANGEDSent when a page is shown.lv_menu_get_cur_main_page(menu)returns a pointer to menu page that is currently displayed in main.lv_menu_get_cur_sidebar_page(menu)returns a pointer to menu page that is currently displayed in sidebar.
LV_EVENT_CLICKEDSent when a back btn in a header from either main or sidebar is clicked.LV_OBJ_FLAG_EVENT_BUBBLEis enabled on the buttons so you can add events to the menu itself.lv_menu_back_btn_is_root(menu, btn)to check if btn is root back btn
See the events of the Base object too.
Learn more about Events.
Example¶
API¶
警告
doxygenfile: Unable to find project ‘lvgl’ in breathe_projects dictionary