Files
godot-docs-l10n/classes/zh_Hans/class_popupmenu.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

1906 lines
127 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_PopupMenu:
PopupMenu
=========
**继承:** :ref:`Popup<class_Popup>` **<** :ref:`Window<class_Window>` **<** :ref:`Viewport<class_Viewport>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
用于显示选项列表的模态窗口。
.. rst-class:: classref-introduction-group
描述
----
**PopupMenu** is a modal window used to display a list of options. Useful for toolbars and context menus.
The size of a **PopupMenu** can be limited by using :ref:`Window.max_size<class_Window_property_max_size>`. If the height of the list of items is larger than the maximum height of the **PopupMenu**, a :ref:`ScrollContainer<class_ScrollContainer>` within the popup will allow the user to scroll the contents. If no maximum size is set, or if it is set to ``0``, the **PopupMenu** height will be limited by its parent rect.
All ``set_*`` methods allow negative item indices, i.e. ``-1`` to access the last item, ``-2`` to select the second-to-last item, and so on.
\ **Incremental search:** Like :ref:`ItemList<class_ItemList>` and :ref:`Tree<class_Tree>`, **PopupMenu** supports searching within the list while the control is focused. Press a key that matches the first letter of an item's name to select the first item starting with the given letter. After that point, there are two ways to perform incremental search: 1) Press the same key again before the timeout duration to select the next item starting with the same letter. 2) Press letter keys that match the rest of the word before the timeout duration to match to select the item in question directly. Both of these actions will be reset to the beginning of the list if the timeout duration has passed since the last keystroke was registered. You can adjust the timeout duration by changing :ref:`ProjectSettings.gui/timers/incremental_search_max_interval_msec<class_ProjectSettings_property_gui/timers/incremental_search_max_interval_msec>`.
\ **Note:** **PopupMenu** is invisible by default. To make it visible, call one of the ``popup_*`` methods from :ref:`Window<class_Window>` on the node, such as :ref:`Window.popup_centered_clamped()<class_Window_method_popup_centered_clamped>`.
\ **Note:** The ID values used for items are limited to 32 bits, not full 64 bits of :ref:`int<class_int>`. This has a range of ``-2^32`` to ``2^32 - 1``, i.e. ``-2147483648`` to ``2147483647``.
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`allow_search<class_PopupMenu_property_allow_search>` | ``true`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`hide_on_checkable_item_selection<class_PopupMenu_property_hide_on_checkable_item_selection>` | ``true`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`hide_on_item_selection<class_PopupMenu_property_hide_on_item_selection>` | ``true`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`hide_on_state_item_selection<class_PopupMenu_property_hide_on_state_item_selection>` | ``false`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`item_count<class_PopupMenu_property_item_count>` | ``0`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`prefer_native_menu<class_PopupMenu_property_prefer_native_menu>` | ``false`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`submenu_popup_delay<class_PopupMenu_property_submenu_popup_delay>` | ``0.2`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`SystemMenus<enum_NativeMenu_SystemMenus>` | :ref:`system_menu_id<class_PopupMenu_property_system_menu_id>` | ``0`` |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | transparent | ``true`` (overrides :ref:`Window<class_Window_property_transparent>`) |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | transparent_bg | ``true`` (overrides :ref:`Viewport<class_Viewport_property_transparent_bg>`) |
+-------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`activate_item_by_event<class_PopupMenu_method_activate_item_by_event>`\ (\ event\: :ref:`InputEvent<class_InputEvent>`, for_global_only\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_check_item<class_PopupMenu_method_add_check_item>`\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_check_shortcut<class_PopupMenu_method_add_check_shortcut>`\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_check_item<class_PopupMenu_method_add_icon_check_item>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_check_shortcut<class_PopupMenu_method_add_icon_check_shortcut>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_item<class_PopupMenu_method_add_icon_item>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_radio_check_item<class_PopupMenu_method_add_icon_radio_check_item>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_radio_check_shortcut<class_PopupMenu_method_add_icon_radio_check_shortcut>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_icon_shortcut<class_PopupMenu_method_add_icon_shortcut>`\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false, allow_echo\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_item<class_PopupMenu_method_add_item>`\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>`\ (\ label\: :ref:`String<class_String>`, max_states\: :ref:`int<class_int>`, default_state\: :ref:`int<class_int>` = 0, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_radio_check_item<class_PopupMenu_method_add_radio_check_item>`\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_radio_check_shortcut<class_PopupMenu_method_add_radio_check_shortcut>`\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_separator<class_PopupMenu_method_add_separator>`\ (\ label\: :ref:`String<class_String>` = "", id\: :ref:`int<class_int>` = -1\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_shortcut<class_PopupMenu_method_add_shortcut>`\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false, allow_echo\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_submenu_item<class_PopupMenu_method_add_submenu_item>`\ (\ label\: :ref:`String<class_String>`, submenu\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_submenu_node_item<class_PopupMenu_method_add_submenu_node_item>`\ (\ label\: :ref:`String<class_String>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`, id\: :ref:`int<class_int>` = -1\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear<class_PopupMenu_method_clear>`\ (\ free_submenus\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_focused_item<class_PopupMenu_method_get_focused_item>`\ (\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AutoTranslateMode<enum_Node_AutoTranslateMode>` | :ref:`get_item_auto_translate_mode<class_PopupMenu_method_get_item_auto_translate_mode>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_item_icon<class_PopupMenu_method_get_item_icon>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_icon_max_width<class_PopupMenu_method_get_item_icon_max_width>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_item_icon_modulate<class_PopupMenu_method_get_item_icon_modulate>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_id<class_PopupMenu_method_get_item_id>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_indent<class_PopupMenu_method_get_item_indent>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_index<class_PopupMenu_method_get_item_index>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_item_language<class_PopupMenu_method_get_item_language>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_item_metadata<class_PopupMenu_method_get_item_metadata>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_multistate<class_PopupMenu_method_get_item_multistate>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_item_multistate_max<class_PopupMenu_method_get_item_multistate_max>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Shortcut<class_Shortcut>` | :ref:`get_item_shortcut<class_PopupMenu_method_get_item_shortcut>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_item_submenu<class_PopupMenu_method_get_item_submenu>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_item_submenu_node<class_PopupMenu_method_get_item_submenu_node>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_item_text<class_PopupMenu_method_get_item_text>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`get_item_text_direction<class_PopupMenu_method_get_item_text_direction>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_item_tooltip<class_PopupMenu_method_get_item_tooltip>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_checkable<class_PopupMenu_method_is_item_checkable>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_checked<class_PopupMenu_method_is_item_checked>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_disabled<class_PopupMenu_method_is_item_disabled>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_radio_checkable<class_PopupMenu_method_is_item_radio_checkable>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_separator<class_PopupMenu_method_is_item_separator>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_item_shortcut_disabled<class_PopupMenu_method_is_item_shortcut_disabled>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_native_menu<class_PopupMenu_method_is_native_menu>`\ (\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_system_menu<class_PopupMenu_method_is_system_menu>`\ (\ ) |const| |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_item<class_PopupMenu_method_remove_item>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`scroll_to_item<class_PopupMenu_method_scroll_to_item>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_focused_item<class_PopupMenu_method_set_focused_item>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_accelerator<class_PopupMenu_method_set_item_accelerator>`\ (\ index\: :ref:`int<class_int>`, accel\: :ref:`Key<enum_@GlobalScope_Key>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_as_checkable<class_PopupMenu_method_set_item_as_checkable>`\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_as_radio_checkable<class_PopupMenu_method_set_item_as_radio_checkable>`\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_as_separator<class_PopupMenu_method_set_item_as_separator>`\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_auto_translate_mode<class_PopupMenu_method_set_item_auto_translate_mode>`\ (\ index\: :ref:`int<class_int>`, mode\: :ref:`AutoTranslateMode<enum_Node_AutoTranslateMode>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_checked<class_PopupMenu_method_set_item_checked>`\ (\ index\: :ref:`int<class_int>`, checked\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_disabled<class_PopupMenu_method_set_item_disabled>`\ (\ index\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_icon<class_PopupMenu_method_set_item_icon>`\ (\ index\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_icon_max_width<class_PopupMenu_method_set_item_icon_max_width>`\ (\ index\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_icon_modulate<class_PopupMenu_method_set_item_icon_modulate>`\ (\ index\: :ref:`int<class_int>`, modulate\: :ref:`Color<class_Color>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_id<class_PopupMenu_method_set_item_id>`\ (\ index\: :ref:`int<class_int>`, id\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_indent<class_PopupMenu_method_set_item_indent>`\ (\ index\: :ref:`int<class_int>`, indent\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_language<class_PopupMenu_method_set_item_language>`\ (\ index\: :ref:`int<class_int>`, language\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_metadata<class_PopupMenu_method_set_item_metadata>`\ (\ index\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>`\ (\ index\: :ref:`int<class_int>`, state\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_multistate_max<class_PopupMenu_method_set_item_multistate_max>`\ (\ index\: :ref:`int<class_int>`, max_states\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_shortcut<class_PopupMenu_method_set_item_shortcut>`\ (\ index\: :ref:`int<class_int>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, global\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_shortcut_disabled<class_PopupMenu_method_set_item_shortcut_disabled>`\ (\ index\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_submenu<class_PopupMenu_method_set_item_submenu>`\ (\ index\: :ref:`int<class_int>`, submenu\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_submenu_node<class_PopupMenu_method_set_item_submenu_node>`\ (\ index\: :ref:`int<class_int>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_text<class_PopupMenu_method_set_item_text>`\ (\ index\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_text_direction<class_PopupMenu_method_set_item_text_direction>`\ (\ index\: :ref:`int<class_int>`, direction\: :ref:`TextDirection<enum_Control_TextDirection>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_item_tooltip<class_PopupMenu_method_set_item_tooltip>`\ (\ index\: :ref:`int<class_int>`, tooltip\: :ref:`String<class_String>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`toggle_item_checked<class_PopupMenu_method_toggle_item_checked>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`toggle_item_multistate<class_PopupMenu_method_toggle_item_multistate>`\ (\ index\: :ref:`int<class_int>`\ ) |
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
主题属性
--------
.. table::
:widths: auto
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_accelerator_color<class_PopupMenu_theme_color_font_accelerator_color>` | ``Color(0.7, 0.7, 0.7, 0.8)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_color<class_PopupMenu_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_PopupMenu_theme_color_font_disabled_color>` | ``Color(0.4, 0.4, 0.4, 0.8)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_hover_color<class_PopupMenu_theme_color_font_hover_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_outline_color<class_PopupMenu_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_separator_color<class_PopupMenu_theme_color_font_separator_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_separator_outline_color<class_PopupMenu_theme_color_font_separator_outline_color>` | ``Color(0, 0, 0, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`gutter_compact<class_PopupMenu_theme_constant_gutter_compact>` | ``1`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`h_separation<class_PopupMenu_theme_constant_h_separation>` | ``4`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`icon_max_width<class_PopupMenu_theme_constant_icon_max_width>` | ``0`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`indent<class_PopupMenu_theme_constant_indent>` | ``10`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`item_end_padding<class_PopupMenu_theme_constant_item_end_padding>` | ``2`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`item_start_padding<class_PopupMenu_theme_constant_item_start_padding>` | ``2`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`outline_size<class_PopupMenu_theme_constant_outline_size>` | ``0`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`separator_outline_size<class_PopupMenu_theme_constant_separator_outline_size>` | ``0`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`v_separation<class_PopupMenu_theme_constant_v_separation>` | ``4`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Font<class_Font>` | :ref:`font<class_PopupMenu_theme_font_font>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Font<class_Font>` | :ref:`font_separator<class_PopupMenu_theme_font_font_separator>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`font_separator_size<class_PopupMenu_theme_font_size_font_separator_size>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`int<class_int>` | :ref:`font_size<class_PopupMenu_theme_font_size_font_size>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`checked<class_PopupMenu_theme_icon_checked>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`checked_disabled<class_PopupMenu_theme_icon_checked_disabled>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked<class_PopupMenu_theme_icon_radio_checked>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_checked_disabled<class_PopupMenu_theme_icon_radio_checked_disabled>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked<class_PopupMenu_theme_icon_radio_unchecked>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`radio_unchecked_disabled<class_PopupMenu_theme_icon_radio_unchecked_disabled>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`submenu<class_PopupMenu_theme_icon_submenu>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`submenu_mirrored<class_PopupMenu_theme_icon_submenu_mirrored>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked<class_PopupMenu_theme_icon_unchecked>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`unchecked_disabled<class_PopupMenu_theme_icon_unchecked_disabled>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_PopupMenu_theme_style_hover>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_left<class_PopupMenu_theme_style_labeled_separator_left>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`labeled_separator_right<class_PopupMenu_theme_style_labeled_separator_right>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_PopupMenu_theme_style_panel>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`separator<class_PopupMenu_theme_style_separator>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------+-----------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
信号
----
.. _class_PopupMenu_signal_id_focused:
.. rst-class:: classref-signal
**id_focused**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_signal_id_focused>`
用户使用 :ref:`ProjectSettings.input/ui_up<class_ProjectSettings_property_input/ui_up>`:ref:`ProjectSettings.input/ui_down<class_ProjectSettings_property_input/ui_down>` 输入动作移动至 ID 为 ``id`` 的菜单项时发出。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_signal_id_pressed:
.. rst-class:: classref-signal
**id_pressed**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_signal_id_pressed>`
Emitted when an item of some ``id`` is pressed. Also emitted when its accelerator is activated on macOS.
\ **Note:** If ``id`` is negative (either explicitly or due to overflow), this will return the corresponding index instead.
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_signal_index_pressed:
.. rst-class:: classref-signal
**index_pressed**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_signal_index_pressed>`
Emitted when an item of some ``index`` is pressed. Also emitted when its accelerator is activated on macOS.
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_signal_menu_changed:
.. rst-class:: classref-signal
**menu_changed**\ (\ ) :ref:`🔗<class_PopupMenu_signal_menu_changed>`
发生菜单项的添加、修改、删除时发出。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_PopupMenu_property_allow_search:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **allow_search** = ``true`` :ref:`🔗<class_PopupMenu_property_allow_search>`
.. rst-class:: classref-property-setget
- |void| **set_allow_search**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_allow_search**\ (\ )
如果为 ``true``\ ,允许用字母键导航 **PopupMenu**\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_hide_on_checkable_item_selection:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **hide_on_checkable_item_selection** = ``true`` :ref:`🔗<class_PopupMenu_property_hide_on_checkable_item_selection>`
.. rst-class:: classref-property-setget
- |void| **set_hide_on_checkable_item_selection**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_hide_on_checkable_item_selection**\ (\ )
如果为 ``true``\ ,则在选中复选框或单选按钮时隐藏 **PopupMenu**\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_hide_on_item_selection:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **hide_on_item_selection** = ``true`` :ref:`🔗<class_PopupMenu_property_hide_on_item_selection>`
.. rst-class:: classref-property-setget
- |void| **set_hide_on_item_selection**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_hide_on_item_selection**\ (\ )
如果为 ``true``\ ,当一个项目被选中时隐藏 **PopupMenu**\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_hide_on_state_item_selection:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **hide_on_state_item_selection** = ``false`` :ref:`🔗<class_PopupMenu_property_hide_on_state_item_selection>`
.. rst-class:: classref-property-setget
- |void| **set_hide_on_state_item_selection**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_hide_on_state_item_selection**\ (\ )
如果为 ``true``\ ,则在选中状态项时隐藏 **PopupMenu**\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_item_count:
.. rst-class:: classref-property
:ref:`int<class_int>` **item_count** = ``0`` :ref:`🔗<class_PopupMenu_property_item_count>`
.. rst-class:: classref-property-setget
- |void| **set_item_count**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_item_count**\ (\ )
当前列表中的项目数。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_prefer_native_menu:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **prefer_native_menu** = ``false`` :ref:`🔗<class_PopupMenu_property_prefer_native_menu>`
.. rst-class:: classref-property-setget
- |void| **set_prefer_native_menu**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_prefer_native_menu**\ (\ )
如果为 ``true``\ ,则支持原生菜单时 :ref:`MenuBar<class_MenuBar>` 会使用原生菜单。
\ **注意:**\ 如果 **PopupMenu** 与 :ref:`StatusIndicator<class_StatusIndicator>`\ 、\ :ref:`MenuBar<class_MenuBar>` 或其他 **PopupMenu** 菜单项之间存在链接,则无论该属性为何值,均可使用原生菜单,请使用 :ref:`is_native_menu()<class_PopupMenu_method_is_native_menu>` 检查。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_submenu_popup_delay:
.. rst-class:: classref-property
:ref:`float<class_float>` **submenu_popup_delay** = ``0.2`` :ref:`🔗<class_PopupMenu_property_submenu_popup_delay>`
.. rst-class:: classref-property-setget
- |void| **set_submenu_popup_delay**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_submenu_popup_delay**\ (\ )
Sets the delay time in seconds for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item.
\ **Note:** If the mouse is exiting a submenu item with an open submenu and enters a different submenu item, the submenu popup delay time is affected by the direction of the mouse movement toward the open submenu. If the mouse is moving toward the submenu, the open submenu will wait approximately ``0.5`` seconds before closing, which then allows the hovered submenu item to open. This additional delay allows the mouse time to move to the open submenu across other menu items without prematurely closing. If the mouse is not moving toward the open submenu, for example in a downward direction, the open submenu will close immediately.
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_property_system_menu_id:
.. rst-class:: classref-property
:ref:`SystemMenus<enum_NativeMenu_SystemMenus>` **system_menu_id** = ``0`` :ref:`🔗<class_PopupMenu_property_system_menu_id>`
.. rst-class:: classref-property-setget
- |void| **set_system_menu**\ (\ value\: :ref:`SystemMenus<enum_NativeMenu_SystemMenus>`\ )
- :ref:`SystemMenus<enum_NativeMenu_SystemMenus>` **get_system_menu**\ (\ )
如果设置为 :ref:`SystemMenus<enum_NativeMenu_SystemMenus>` 的值之一,则该 **PopupMenu** 将绑定到特殊系统菜单。每个特殊菜单在同一时间只能绑定一个 **PopupMenu**\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_PopupMenu_method_activate_item_by_event:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **activate_item_by_event**\ (\ event\: :ref:`InputEvent<class_InputEvent>`, for_global_only\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_activate_item_by_event>`
根据 **PopupMenu** 的快捷键和加速器检查提供的 ``event``\ ,并激活匹配事件的第一个项目。如果 ``for_global_only````true``\ ,则仅调用 ``global`` 被设置为 ``true`` 的快捷键和加速器。
如果项目已成功激活,则返回 ``true``\ 。
\ **注意:**\ 某些 :ref:`Control<class_Control>`\ ,例如 :ref:`MenuButton<class_MenuButton>`\ ,会自动调用该方法。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_check_item:
.. rst-class:: classref-method
|void| **add_check_item**\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_check_item>`
添加一个带有文本 ``label`` 的新的可勾选项。
可以选择提供一个 ``id`` 以及一个加速器(\ ``accel``\ )。如果未提供 ``id``\ ,将从索引中创建一个。如果未提供 ``accel``\ ,则默认值 0对应于 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ )将被分配给该项(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
\ **注意:**\ 可勾选的项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_check_shortcut:
.. rst-class:: classref-method
|void| **add_check_shortcut**\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_check_shortcut>`
添加一个新的可勾选项并为其分配指定的 :ref:`Shortcut<class_Shortcut>`\ 。将复选框的标签设置为 :ref:`Shortcut<class_Shortcut>` 的名称。
可以选择提供一个 ``id``\ 。如果未提供 ``id``\ ,将从索引中创建一个。
\ **注意:**\ 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_check_item:
.. rst-class:: classref-method
|void| **add_icon_check_item**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_icon_check_item>`
添加一个带有文本 ``label`` 和图标 ``texture`` 的新的可勾选项。
可以选择提供一个 ``id`` 以及一个加速器(\ ``accel``\ )。如果未提供 ``id``\ ,将从索引中创建一个。如果未提供 ``accel``\ ,则默认值 0对应于 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ )将被分配给该项(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
\ **注意:**\ 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_check_shortcut:
.. rst-class:: classref-method
|void| **add_icon_check_shortcut**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_icon_check_shortcut>`
添加一个新的可勾选项并为其分配指定的 :ref:`Shortcut<class_Shortcut>` 和图标 ``texture``\ 。将复选框的标签设置为 :ref:`Shortcut<class_Shortcut>` 的名称。
可以选择提供一个 ``id``\ 。如果未提供 ``id``\ ,将从索引中创建一个。
\ **注意:**\ 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_item:
.. rst-class:: classref-method
|void| **add_icon_item**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_icon_item>`
添加带有文本 ``label`` 和图标 ``texture`` 的新菜单项。
还可以提供 ``id`` 和快捷键(\ ``accel``\ )。如果没有提供 ``id``\ ,则会根据索引来创建。如果没有提供 ``accel``\ ,则会为该菜单项分配默认的 0对应 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ ,在这里表示没有快捷键)。更多快捷键相关的信息见 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_radio_check_item:
.. rst-class:: classref-method
|void| **add_icon_radio_check_item**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_icon_radio_check_item>`
与 :ref:`add_icon_check_item()<class_PopupMenu_method_add_icon_check_item>` 相同,但使用单选按钮。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_radio_check_shortcut:
.. rst-class:: classref-method
|void| **add_icon_radio_check_shortcut**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_icon_radio_check_shortcut>`
与 :ref:`add_icon_check_shortcut()<class_PopupMenu_method_add_icon_check_shortcut>` 相同,但使用一个单选按钮。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_icon_shortcut:
.. rst-class:: classref-method
|void| **add_icon_shortcut**\ (\ texture\: :ref:`Texture2D<class_Texture2D>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false, allow_echo\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_icon_shortcut>`
添加新的菜单项,并为其分配指定的 :ref:`Shortcut<class_Shortcut>` 和图标 ``texture``\ 。复选框的标签会被设为 :ref:`Shortcut<class_Shortcut>` 的名称。
还可以提供 ``id``\ 。如果没有提供 ``id``\ ,则会根据索引来创建。
如果 ``allow_echo````true``\ ,则快捷键可以被回响事件激活。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_item:
.. rst-class:: classref-method
|void| **add_item**\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_item>`
添加一个带有文本 ``label`` 的新项。
可以选择提供一个 ``id`` 以及一个加速器(\ ``accel``\ )。如果未提供 ``id``\ ,将从索引中创建一个。如果未提供 ``accel``\ ,则默认值 0对应于 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ )将被分配给该项(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
\ **注意:**\ 提供的 ``id`` 仅用于 :ref:`id_pressed<class_PopupMenu_signal_id_pressed>`:ref:`id_focused<class_PopupMenu_signal_id_focused>` 信号。它与在函数中,例如在 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>` 中的 ``index`` 参数无关。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_multistate_item:
.. rst-class:: classref-method
|void| **add_multistate_item**\ (\ label\: :ref:`String<class_String>`, max_states\: :ref:`int<class_int>`, default_state\: :ref:`int<class_int>` = 0, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_multistate_item>`
添加新的多状态菜单项,使用 ``label`` 作为文本。
与普通的双态菜单项不同,多状态菜单项的状态可以超过两个,数量由 ``max_states`` 定义。默认值由 ``default_state`` 定义。
还可以提供 ``id`` 和快捷键(\ ``accel``\ )。如果没有提供 ``id``\ ,则会根据索引来创建。如果没有提供 ``accel``\ ,则会为该菜单项分配默认的 0对应 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ ,在这里表示没有快捷键)。更多快捷键相关的信息见 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
::
func _ready():
add_multistate_item("菜单项", 3, 0)
index_pressed.connect(func(index: int):
toggle_item_multistate(index)
match get_item_multistate(index):
0:
print("甲状态")
1:
print("乙状态")
2:
print("丙状态")
)
\ **注意:**\ 多状态菜单项的状态不会自动变化,必须手动修改。控制方法见 :ref:`toggle_item_multistate()<class_PopupMenu_method_toggle_item_multistate>`\ 、\ :ref:`set_item_multistate()<class_PopupMenu_method_set_item_multistate>`\ 、\ :ref:`get_item_multistate()<class_PopupMenu_method_get_item_multistate>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_radio_check_item:
.. rst-class:: classref-method
|void| **add_radio_check_item**\ (\ label\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1, accel\: :ref:`Key<enum_@GlobalScope_Key>` = 0\ ) :ref:`🔗<class_PopupMenu_method_add_radio_check_item>`
添加一个带有文本 ``label`` 的新单选勾选按钮。
可以选择提供一个 ``id`` 以及一个加速器(\ ``accel``\ )。如果未提供 ``id``\ ,将从索引中创建一个。如果未提供 ``accel``\ ,则默认值 0对应于 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ )将被分配给该项(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
\ **注意:**\ 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_radio_check_shortcut:
.. rst-class:: classref-method
|void| **add_radio_check_shortcut**\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_radio_check_shortcut>`
添加一个新的单选勾选按钮并为其分配一个 :ref:`Shortcut<class_Shortcut>`\ 。将复选框的标签设置为 :ref:`Shortcut<class_Shortcut>` 的名称。
可以选择提供一个 ``id``\ 。如果未提供 ``id``\ ,将从索引中创建一个。
\ **注意:**\ 可勾选项只显示一个勾选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。有关如何控制它的更多信息,请参阅 :ref:`set_item_checked()<class_PopupMenu_method_set_item_checked>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_separator:
.. rst-class:: classref-method
|void| **add_separator**\ (\ label\: :ref:`String<class_String>` = "", id\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_PopupMenu_method_add_separator>`
在菜单项之间添加分隔线。分隔线也占用索引,可以使用 ``id`` 参数设置。
还可以提供 ``label``\ ,会在分隔线的中间位置显示。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_shortcut:
.. rst-class:: classref-method
|void| **add_shortcut**\ (\ shortcut\: :ref:`Shortcut<class_Shortcut>`, id\: :ref:`int<class_int>` = -1, global\: :ref:`bool<class_bool>` = false, allow_echo\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_add_shortcut>`
添加 :ref:`Shortcut<class_Shortcut>`\ 。
还可以提供 ``id``\ 。如果没有提供 ``id``\ ,则会根据索引来创建。
如果 ``allow_echo````true``\ ,则快捷键可以被回响事件激活。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_submenu_item:
.. rst-class:: classref-method
|void| **add_submenu_item**\ (\ label\: :ref:`String<class_String>`, submenu\: :ref:`String<class_String>`, id\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_PopupMenu_method_add_submenu_item>`
**已弃用:** Prefer using :ref:`add_submenu_node_item()<class_PopupMenu_method_add_submenu_node_item>` instead.
添加菜单项,点击时会作为父级 **PopupMenu** 节点的子菜单。\ ``submenu`` 参数必须是已作为子节点添加到此节点的现有 **PopupMenu** 的名称。当点击该项目、悬停足够长的时间或使用 ``ui_select````ui_right`` 输入操作激活该子菜单时,将显示该子菜单。
还可以提供 ``id``\ 。如果没有提供 ``id``\ ,则会根据索引来创建。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_add_submenu_node_item:
.. rst-class:: classref-method
|void| **add_submenu_node_item**\ (\ label\: :ref:`String<class_String>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`, id\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_PopupMenu_method_add_submenu_node_item>`
添加一个菜单项,点击时会作为父级 **PopupMenu** 节点的子菜单。当点击该项目、悬停足够长的时间或使用 ``ui_select````ui_right`` 输入操作激活该子菜单时,将显示该子菜单。
\ ``submenu`` 必须是该 **PopupMenu** 的子节点,或者没有父节点(在这种情况下,它将自动添加为子节点)。如果 ``submenu`` 弹出窗口有另一个父级节点,则该方法将失败。
还可以选择提供 ``id``\ 。如果没有提供 ``id``\ ,则将从索引创建一个。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_clear:
.. rst-class:: classref-method
|void| **clear**\ (\ free_submenus\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_clear>`
移除 **PopupMenu** 中的所有项目。如果 ``free_submenus````true``\ ,则自动释放子菜单节点。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_focused_item:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_focused_item**\ (\ ) |const| :ref:`🔗<class_PopupMenu_method_get_focused_item>`
返回当前焦点项目的索引。如果没有焦点,则返回 ``-1``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_accelerator:
.. rst-class:: classref-method
:ref:`Key<enum_@GlobalScope_Key>` **get_item_accelerator**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_accelerator>`
返回给定 ``index`` 处项目的加速器。加速器是一种键盘快捷键,即使当前未打开菜单按钮,也可以按下它来触发菜单按钮。返回值是一个整数,通常是 :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`:ref:`Key<enum_@GlobalScope_Key>` 使用按位或操作的组合,例如 ``KEY_MASK_CTRL | KEY_A``\ \ :kbd:`Ctrl + A`\ )。如果没有为指定的 ``index`` 定义加速器,则 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>` 返回 ``0``\ (对应于 :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_auto_translate_mode:
.. rst-class:: classref-method
:ref:`AutoTranslateMode<enum_Node_AutoTranslateMode>` **get_item_auto_translate_mode**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_auto_translate_mode>`
返回索引为 ``index`` 的菜单项的自动翻译模式。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_icon:
.. rst-class:: classref-method
:ref:`Texture2D<class_Texture2D>` **get_item_icon**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_icon>`
返回给定 ``index`` 处菜单项的图标。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_icon_max_width:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_icon_max_width**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_icon_max_width>`
返回给定 ``index`` 处菜单项所允许的最大图标宽度。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_icon_modulate:
.. rst-class:: classref-method
:ref:`Color<class_Color>` **get_item_icon_modulate**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_icon_modulate>`
返回给定 ``index`` 处用于调制菜单项图标的 :ref:`Color<class_Color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_id**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_id>`
返回给定 ``index`` 处菜单项的 ID。\ ``id`` 可以手动分配,而索引则不能。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_indent:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_indent**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_indent>`
返回给定 ``index`` 处菜单项的水平偏移量。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_index**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_index>`
返回包含指定 ``id`` 的菜单项的索引。索引由引擎自动分配给各个项目,无法手动设置。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_language:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_item_language**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_language>`
返回项目文本的语言代码。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_metadata:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_item_metadata**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_metadata>`
返回指定菜单项的元数据,可能是任何类型。可以使用 :ref:`set_item_metadata()<class_PopupMenu_method_set_item_metadata>` 来设置元数据,这样就能很很方便地将上下文数据分配给菜单项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_multistate:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_multistate**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_multistate>`
返回索引为 ``index`` 的菜单项的状态。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_multistate_max:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_item_multistate_max**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_multistate_max>`
返回索引为 ``index`` 的菜单项的最大状态数。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_shortcut:
.. rst-class:: classref-method
:ref:`Shortcut<class_Shortcut>` **get_item_shortcut**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_shortcut>`
返回给定 ``index`` 处菜单项所关联的 :ref:`Shortcut<class_Shortcut>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_submenu:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_item_submenu**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_submenu>`
**已弃用:** Prefer using :ref:`get_item_submenu_node()<class_PopupMenu_method_get_item_submenu_node>` instead.
返回给定 ``index`` 处菜单项的子菜单名称。有关如何添加子菜单的更多信息,请参见 :ref:`add_submenu_item()<class_PopupMenu_method_add_submenu_item>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_submenu_node:
.. rst-class:: classref-method
:ref:`PopupMenu<class_PopupMenu>` **get_item_submenu_node**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_submenu_node>`
返回给定 ``index`` 处菜单项的子菜单,如果尚未添加子菜单,则返回 ``null``\ 。有关如何添加子菜单的更多信息,请参阅 :ref:`add_submenu_node_item()<class_PopupMenu_method_add_submenu_node_item>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_text:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_item_text**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_text>`
返回索引为 ``index`` 的菜单项的文本。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_text_direction:
.. rst-class:: classref-method
:ref:`TextDirection<enum_Control_TextDirection>` **get_item_text_direction**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_text_direction>`
返回项目文本的基础书写方向。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_get_item_tooltip:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_item_tooltip**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_get_item_tooltip>`
返回索引为 ``index`` 的菜单项所关联的工具提示。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_checkable:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_checkable**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_checkable>`
如果给定 ``index`` 处的菜单项可以某种方式勾选,即如果它有一个复选框或单选按钮,则返回 ``true``\ 。
\ **注意:**\ 可勾选项仅显示一个勾选标记或单选按钮,但没有任何内置的勾选行为,必须手动勾选/取消勾选。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_checked:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_checked**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_checked>`
如果给定的 ``index`` 处的菜单项被勾选,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_disabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_disabled**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_disabled>`
如果给定 ``index`` 处的菜单项被禁用,则返回 ``true``\ 。菜单项被禁用时无法被选择,对应的动作也无法被调用。
有关如何禁用菜单项的更多信息,请参阅 :ref:`set_item_disabled()<class_PopupMenu_method_set_item_disabled>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_radio_checkable:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_radio_checkable**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_radio_checkable>`
如果给定 ``index`` 处的菜单项具有单选按钮样式的可勾选性,则返回 ``true``\ 。
\ **注意:**\ 这纯粹是装饰性的;必须添加用于单选组中勾选/取消勾选项目的逻辑。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_separator:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_separator**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_separator>`
如果菜单项是分隔符,则返回 ``true``\ 。分隔符会显示为一条线。有关如何添加分隔符的更多信息,请参阅 :ref:`add_separator()<class_PopupMenu_method_add_separator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_item_shortcut_disabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_item_shortcut_disabled**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PopupMenu_method_is_item_shortcut_disabled>`
如果指定菜单项的快捷方式被禁用,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_native_menu:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_native_menu**\ (\ ) |const| :ref:`🔗<class_PopupMenu_method_is_native_menu>`
如果系统原生菜单受支持,且当前由该 **PopupMenu** 使用,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_is_system_menu:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_system_menu**\ (\ ) |const| :ref:`🔗<class_PopupMenu_method_is_system_menu>`
如果菜单与特殊系统菜单进行了绑定,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_remove_item:
.. rst-class:: classref-method
|void| **remove_item**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_remove_item>`
从菜单中移除给定 ``index`` 处的菜单项。
\ **注意:**\ 被移除的菜单项后面的菜单项的索引将移动一位。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_scroll_to_item:
.. rst-class:: classref-method
|void| **scroll_to_item**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_scroll_to_item>`
移动滚动视图,使位于给定 ``index`` 的菜单项可见。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_focused_item:
.. rst-class:: classref-method
|void| **set_focused_item**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_focused_item>`
将当前聚焦的菜单项设置为给定的 ``index``\ 。
``-1`` 作为索引传入将不会聚焦任何菜单项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_accelerator:
.. rst-class:: classref-method
|void| **set_item_accelerator**\ (\ index\: :ref:`int<class_int>`, accel\: :ref:`Key<enum_@GlobalScope_Key>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_accelerator>`
在给定的 ``index`` 处设置项目的加速器。加速器是一种键盘快捷键,即使当前未打开菜单按钮,也可以按下它来触发菜单按钮。\ ``accel`` 通常是 :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>`:ref:`Key<enum_@GlobalScope_Key>` 使用按位或操作的组合,例如 ``KEY_MASK_CTRL | KEY_A``\ \ :kbd:`Ctrl + A`\ )。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_as_checkable:
.. rst-class:: classref-method
|void| **set_item_as_checkable**\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_as_checkable>`
设置给定 ``index`` 处的项是否具有一个复选框。如果为 ``false``\ ,则将项的类型设置为纯文本。
\ **注意:**\ 可勾选的项只显示一个复选标记,但没有任何内置的勾选行为,必须手动勾选/取消勾选。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_as_radio_checkable:
.. rst-class:: classref-method
|void| **set_item_as_radio_checkable**\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_as_radio_checkable>`
将给定 ``index`` 处的项的类型设置为一个单选按钮。如果为 ``false``\ ,则将项的类型设置为纯文本。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_as_separator:
.. rst-class:: classref-method
|void| **set_item_as_separator**\ (\ index\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_as_separator>`
将给定 ``index`` 处的项标记为分隔符,这意味着它将显示为直线段。如果为 ``false``\ ,则将项的类型设置为纯文本。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_auto_translate_mode:
.. rst-class:: classref-method
|void| **set_item_auto_translate_mode**\ (\ index\: :ref:`int<class_int>`, mode\: :ref:`AutoTranslateMode<enum_Node_AutoTranslateMode>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_auto_translate_mode>`
设置索引为 ``index`` 的菜单项的自动翻译模式。
项目默认使用 :ref:`Node.AUTO_TRANSLATE_MODE_INHERIT<class_Node_constant_AUTO_TRANSLATE_MODE_INHERIT>`\ ,表示使用与 **PopupMenu** 相同的自动翻译模式。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_checked:
.. rst-class:: classref-method
|void| **set_item_checked**\ (\ index\: :ref:`int<class_int>`, checked\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_checked>`
设置位于给定的 ``index`` 的菜单项的勾选状态。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_disabled:
.. rst-class:: classref-method
|void| **set_item_disabled**\ (\ index\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_disabled>`
启用/禁用位于给定 ``index`` 的菜单项。处于禁用状态的菜单项无法被选中,也无法调用其动作。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_icon:
.. rst-class:: classref-method
|void| **set_item_icon**\ (\ index\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_icon>`
替换索引为 ``index`` 的菜单项的 :ref:`Texture2D<class_Texture2D>` 图标。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_icon_max_width:
.. rst-class:: classref-method
|void| **set_item_icon_max_width**\ (\ index\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_icon_max_width>`
设置给定 ``index`` 处菜单项所允许的最大图标宽度。这是在图标默认大小和 :ref:`icon_max_width<class_PopupMenu_theme_constant_icon_max_width>` 的基础上的限制。高度会根据图标的长宽比调整。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_icon_modulate:
.. rst-class:: classref-method
|void| **set_item_icon_modulate**\ (\ index\: :ref:`int<class_int>`, modulate\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_icon_modulate>`
设置索引为 ``index`` 的菜单项图标的调制 :ref:`Color<class_Color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_id:
.. rst-class:: classref-method
|void| **set_item_id**\ (\ index\: :ref:`int<class_int>`, id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_id>`
设置位于给定 ``index`` 的菜单项的 ``id``\ 。
\ :ref:`id_pressed<class_PopupMenu_signal_id_pressed>` 和 :ref:`id_focused<class_PopupMenu_signal_id_focused>` 等信号中会用到 ``id``\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_indent:
.. rst-class:: classref-method
|void| **set_item_indent**\ (\ index\: :ref:`int<class_int>`, indent\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_indent>`
设置索引为 ``index`` 的菜单项的水平偏移量。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_language:
.. rst-class:: classref-method
|void| **set_item_language**\ (\ index\: :ref:`int<class_int>`, language\: :ref:`String<class_String>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_language>`
Sets the language code of the text for the item at the given index to ``language``. This is used for line-breaking and text shaping algorithms. If ``language`` is empty, the current locale is used.
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_metadata:
.. rst-class:: classref-method
|void| **set_item_metadata**\ (\ index\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_metadata>`
设置项的元数据,该项可以是任何类型。稍后你可以使用\ :ref:`get_item_metadata()<class_PopupMenu_method_get_item_metadata>`\ 获取它,它提供了一种将上下文数据分配给项的简单方法。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_multistate:
.. rst-class:: classref-method
|void| **set_item_multistate**\ (\ index\: :ref:`int<class_int>`, state\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_multistate>`
设置一个多态项目的状态。详见 :ref:`add_multistate_item()<class_PopupMenu_method_add_multistate_item>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_multistate_max:
.. rst-class:: classref-method
|void| **set_item_multistate_max**\ (\ index\: :ref:`int<class_int>`, max_states\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_multistate_max>`
设置多状态菜单项的最大状态数。详见 :ref:`add_multistate_item()<class_PopupMenu_method_add_multistate_item>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_shortcut:
.. rst-class:: classref-method
|void| **set_item_shortcut**\ (\ index\: :ref:`int<class_int>`, shortcut\: :ref:`Shortcut<class_Shortcut>`, global\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PopupMenu_method_set_item_shortcut>`
设置索引为 ``index`` 的菜单项的 :ref:`Shortcut<class_Shortcut>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_shortcut_disabled:
.. rst-class:: classref-method
|void| **set_item_shortcut_disabled**\ (\ index\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_shortcut_disabled>`
禁用索引为 ``index`` 的菜单项的 :ref:`Shortcut<class_Shortcut>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_submenu:
.. rst-class:: classref-method
|void| **set_item_submenu**\ (\ index\: :ref:`int<class_int>`, submenu\: :ref:`String<class_String>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_submenu>`
**已弃用:** Prefer using :ref:`set_item_submenu_node()<class_PopupMenu_method_set_item_submenu_node>` instead.
设置位于给定 ``index`` 的菜单项的子菜单。子菜单为点击该菜单项后应该显示的子 **PopupMenu** 节点的名称。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_submenu_node:
.. rst-class:: classref-method
|void| **set_item_submenu_node**\ (\ index\: :ref:`int<class_int>`, submenu\: :ref:`PopupMenu<class_PopupMenu>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_submenu_node>`
设置给定 ``index`` 处的项目的子菜单。子菜单是一个 **PopupMenu** 节点,点击该项目时将显示该节点。它必须是该 **PopupMenu** 的子级或没有父级(在这种情况下,它将自动添加为子级)。如果 ``submenu`` 弹出窗口有另一个父级,则该方法将失败。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_text:
.. rst-class:: classref-method
|void| **set_item_text**\ (\ index\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_text>`
设置索引为 ``index`` 的菜单项的文本。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_text_direction:
.. rst-class:: classref-method
|void| **set_item_text_direction**\ (\ index\: :ref:`int<class_int>`, direction\: :ref:`TextDirection<enum_Control_TextDirection>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_text_direction>`
设置项目文本的基础书写方向。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_set_item_tooltip:
.. rst-class:: classref-method
|void| **set_item_tooltip**\ (\ index\: :ref:`int<class_int>`, tooltip\: :ref:`String<class_String>`\ ) :ref:`🔗<class_PopupMenu_method_set_item_tooltip>`
设置索引为 ``index`` 的菜单项的 :ref:`String<class_String>` 工具提示。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_toggle_item_checked:
.. rst-class:: classref-method
|void| **toggle_item_checked**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_toggle_item_checked>`
切换索引为 ``index`` 的菜单项的选中状态。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_method_toggle_item_multistate:
.. rst-class:: classref-method
|void| **toggle_item_multistate**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PopupMenu_method_toggle_item_multistate>`
循环到一个多态项目的下一个状态。详见 :ref:`add_multistate_item()<class_PopupMenu_method_add_multistate_item>`\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
主题属性说明
------------
.. _class_PopupMenu_theme_color_font_accelerator_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_accelerator_color** = ``Color(0.7, 0.7, 0.7, 0.8)`` :ref:`🔗<class_PopupMenu_theme_color_font_accelerator_color>`
文本 :ref:`Color<class_Color>` 用于快捷键和加速器,当定义时显示在菜单项名称旁边。有关加速器的更多信息,请参阅 :ref:`get_item_accelerator()<class_PopupMenu_method_get_item_accelerator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_PopupMenu_theme_color_font_color>`
菜单项名称的默认文本 :ref:`Color<class_Color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_disabled_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_disabled_color** = ``Color(0.4, 0.4, 0.4, 0.8)`` :ref:`🔗<class_PopupMenu_theme_color_font_disabled_color>`
用于禁用菜单项的文本 :ref:`Color<class_Color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_hover_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_hover_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_PopupMenu_theme_color_font_hover_color>`
用于悬停文本的 :ref:`Color<class_Color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_outline_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_PopupMenu_theme_color_font_outline_color>`
菜单项文本轮廓的色调。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_separator_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_separator_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_PopupMenu_theme_color_font_separator_color>`
用于标注分隔符文本的颜色 :ref:`Color<class_Color>`\ 。见 :ref:`add_separator()<class_PopupMenu_method_add_separator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_color_font_separator_outline_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_separator_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_PopupMenu_theme_color_font_separator_outline_color>`
带标签分隔符的文本轮廓的色调。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_gutter_compact:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **gutter_compact** = ``1`` :ref:`🔗<class_PopupMenu_theme_constant_gutter_compact>`
If not ``0``, the icon gutter will be merged with the checkbox gutter when possible. This acts as a boolean.
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_h_separation:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **h_separation** = ``4`` :ref:`🔗<class_PopupMenu_theme_constant_h_separation>`
菜单项元素之间的水平间距。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_icon_max_width:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **icon_max_width** = ``0`` :ref:`🔗<class_PopupMenu_theme_constant_icon_max_width>`
菜单项图标所允许的最大宽度。这是在图标默认大小的基础上的限制,在 :ref:`set_item_icon_max_width()<class_PopupMenu_method_set_item_icon_max_width>` 所设置的值之前生效。高度会根据图标的长宽比调整。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_indent:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **indent** = ``10`` :ref:`🔗<class_PopupMenu_theme_constant_indent>`
单个缩进级别的宽度。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_item_end_padding:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **item_end_padding** = ``2`` :ref:`🔗<class_PopupMenu_theme_constant_item_end_padding>`
所有菜单项右侧的水平内边距RTL 布局中为左侧)。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_item_start_padding:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **item_start_padding** = ``2`` :ref:`🔗<class_PopupMenu_theme_constant_item_start_padding>`
所有菜单项左侧的水平内边距RTL 布局中为右侧)。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_outline_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_PopupMenu_theme_constant_outline_size>`
项目文本轮廓的大小。
\ **注意:**\ 如果使用启用了 :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` 的字体,其 :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` 必须至少设置为 :ref:`outline_size<class_PopupMenu_theme_constant_outline_size>` 的\ *两倍*\ ,轮廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_separator_outline_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **separator_outline_size** = ``0`` :ref:`🔗<class_PopupMenu_theme_constant_separator_outline_size>`
带标签分隔符的文本轮廓的大小。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_constant_v_separation:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **v_separation** = ``4`` :ref:`🔗<class_PopupMenu_theme_constant_v_separation>`
每个菜单项之间的垂直间距。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_font_font:
.. rst-class:: classref-themeproperty
:ref:`Font<class_Font>` **font** :ref:`🔗<class_PopupMenu_theme_font_font>`
用于菜单项的 :ref:`Font<class_Font>` 字体。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_font_font_separator:
.. rst-class:: classref-themeproperty
:ref:`Font<class_Font>` **font_separator** :ref:`🔗<class_PopupMenu_theme_font_font_separator>`
用于带文字分隔线的 :ref:`Font<class_Font>` 字体。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_font_size_font_separator_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **font_separator_size** :ref:`🔗<class_PopupMenu_theme_font_size_font_separator_size>`
带标签分隔符的字体大小。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_font_size_font_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **font_size** :ref:`🔗<class_PopupMenu_theme_font_size_font_size>`
菜单项的字体大小。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_checked:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **checked** :ref:`🔗<class_PopupMenu_theme_icon_checked>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于选中状态的复选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_checked_disabled:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **checked_disabled** :ref:`🔗<class_PopupMenu_theme_icon_checked_disabled>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于选中状态的已禁用复选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_radio_checked:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **radio_checked** :ref:`🔗<class_PopupMenu_theme_icon_radio_checked>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于选中状态的单选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_radio_checked_disabled:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **radio_checked_disabled** :ref:`🔗<class_PopupMenu_theme_icon_radio_checked_disabled>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于选中状态的已禁用单选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_radio_unchecked:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **radio_unchecked** :ref:`🔗<class_PopupMenu_theme_icon_radio_unchecked>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于未选状态的单选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_radio_unchecked_disabled:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **radio_unchecked_disabled** :ref:`🔗<class_PopupMenu_theme_icon_radio_unchecked_disabled>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于未选状态的已禁用单选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_submenu:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **submenu** :ref:`🔗<class_PopupMenu_theme_icon_submenu>`
:ref:`Texture2D<class_Texture2D>` 图标,用于子菜单箭头(用于从左至右布局)。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_submenu_mirrored:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **submenu_mirrored** :ref:`🔗<class_PopupMenu_theme_icon_submenu_mirrored>`
:ref:`Texture2D<class_Texture2D>` 图标,用于子菜单箭头(用于从右至左布局)。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_unchecked:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **unchecked** :ref:`🔗<class_PopupMenu_theme_icon_unchecked>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于未选状态的复选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_icon_unchecked_disabled:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **unchecked_disabled** :ref:`🔗<class_PopupMenu_theme_icon_unchecked_disabled>`
:ref:`Texture2D<class_Texture2D>` 图标,用于处于未选状态的已禁用复选项。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_style_hover:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **hover** :ref:`🔗<class_PopupMenu_theme_style_hover>`
**PopupMenu** 菜单项被悬停时显示的 :ref:`StyleBox<class_StyleBox>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_style_labeled_separator_left:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **labeled_separator_left** :ref:`🔗<class_PopupMenu_theme_style_labeled_separator_left>`
用于标签分隔器的左侧 :ref:`StyleBox<class_StyleBox>`\ 。请参阅 :ref:`add_separator()<class_PopupMenu_method_add_separator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_style_labeled_separator_right:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **labeled_separator_right** :ref:`🔗<class_PopupMenu_theme_style_labeled_separator_right>`
用于标签分隔器的右侧 :ref:`StyleBox<class_StyleBox>`\ 。请参阅 :ref:`add_separator()<class_PopupMenu_method_add_separator>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_style_panel:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **panel** :ref:`🔗<class_PopupMenu_theme_style_panel>`
用于背景面板的 :ref:`StyleBox<class_StyleBox>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_PopupMenu_theme_style_separator:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **separator** :ref:`🔗<class_PopupMenu_theme_style_separator>`
用于分隔符的 :ref:`StyleBox<class_StyleBox>`\ 。请参阅 :ref:`add_separator()<class_PopupMenu_method_add_separator>`\ 。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`