PopupMenu
Наследует: Popup < Window < Viewport < Node < Object
Модальное окно, используемое для отображения списка опций.
Описание
PopupMenu — это модальное окно, используемое для отображения списка параметров. Полезно для панелей инструментов и контекстных меню.
Размер PopupMenu можно ограничить с помощью Window.max_size. Если высота списка элементов превышает максимальную высоту PopupMenu, ScrollContainer внутри всплывающего окна позволит пользователю прокручивать содержимое. Если максимальный размер не установлен или установлен на 0, высота PopupMenu будет ограничена родительским прямоугольником.
Все методы set_* допускают отрицательные индексы элементов, т.е. -1 для доступа к последнему элементу, -2 для выбора предпоследнего элемента и так далее.
Инкрементальный поиск: Как и ItemList и Tree, PopupMenu поддерживает поиск внутри списка, пока элемент управления находится в фокусе. Нажмите клавишу, соответствующую первой букве имени элемента, чтобы выбрать первый элемент, начинающийся с заданной буквы. После этого есть два способа выполнить инкрементальный поиск: 1) Нажмите ту же клавишу еще раз до истечения времени ожидания, чтобы выбрать следующий элемент, начинающийся с той же буквы. 2) Нажмите клавиши с буквами, соответствующими остальной части слова, до истечения времени ожидания, чтобы выбрать нужный элемент напрямую. Оба действия будут сброшены до начала списка, если прошло время ожидания с момента последнего нажатия клавиши. Вы можете настроить время ожидания, изменив параметр ProjectSettings.gui/timers/incremental_search_max_interval_msec.
Примечание: PopupMenu по умолчанию невидим. Чтобы сделать его видимым, вызовите один из методов popup_* из Window на узле, например, Window.popup_centered_clamped().
Примечание: Значения ID, используемые для элементов, ограничены 32 битами, а не полными 64 битами int. Диапазон значений составляет от -2^32 до 2^32 - 1, т.е. от -2147483648 до 2147483647.
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
transparent |
|
|
transparent_bg |
|
Методы
activate_item_by_event(event: InputEvent, for_global_only: bool = false) |
|
void |
add_check_item(label: String, id: int = -1, accel: Key = 0) |
void |
add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) |
void |
add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) |
void |
|
void |
add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) |
void |
add_radio_check_item(label: String, id: int = -1, accel: Key = 0) |
void |
add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) |
void |
add_separator(label: String = "", id: int = -1) |
void |
add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) |
void |
add_submenu_item(label: String, submenu: String, id: int = -1) |
void |
add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) |
void |
|
get_focused_item() const |
|
get_item_accelerator(index: int) const |
|
get_item_auto_translate_mode(index: int) const |
|
get_item_icon(index: int) const |
|
get_item_icon_max_width(index: int) const |
|
get_item_icon_modulate(index: int) const |
|
get_item_id(index: int) const |
|
get_item_indent(index: int) const |
|
get_item_index(id: int) const |
|
get_item_language(index: int) const |
|
get_item_metadata(index: int) const |
|
get_item_multistate(index: int) const |
|
get_item_multistate_max(index: int) const |
|
get_item_shortcut(index: int) const |
|
get_item_submenu(index: int) const |
|
get_item_submenu_node(index: int) const |
|
get_item_text(index: int) const |
|
get_item_text_direction(index: int) const |
|
get_item_tooltip(index: int) const |
|
is_item_checkable(index: int) const |
|
is_item_checked(index: int) const |
|
is_item_disabled(index: int) const |
|
is_item_radio_checkable(index: int) const |
|
is_item_separator(index: int) const |
|
is_item_shortcut_disabled(index: int) const |
|
is_native_menu() const |
|
is_system_menu() const |
|
void |
remove_item(index: int) |
void |
scroll_to_item(index: int) |
void |
set_focused_item(index: int) |
void |
set_item_accelerator(index: int, accel: Key) |
void |
set_item_as_checkable(index: int, enable: bool) |
void |
set_item_as_radio_checkable(index: int, enable: bool) |
void |
set_item_as_separator(index: int, enable: bool) |
void |
set_item_auto_translate_mode(index: int, mode: AutoTranslateMode) |
void |
set_item_checked(index: int, checked: bool) |
void |
set_item_disabled(index: int, disabled: bool) |
void |
set_item_icon(index: int, icon: Texture2D) |
void |
set_item_icon_max_width(index: int, width: int) |
void |
set_item_icon_modulate(index: int, modulate: Color) |
void |
set_item_id(index: int, id: int) |
void |
set_item_indent(index: int, indent: int) |
void |
set_item_language(index: int, language: String) |
void |
set_item_metadata(index: int, metadata: Variant) |
void |
set_item_multistate(index: int, state: int) |
void |
set_item_multistate_max(index: int, max_states: int) |
void |
set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) |
void |
set_item_shortcut_disabled(index: int, disabled: bool) |
void |
set_item_submenu(index: int, submenu: String) |
void |
set_item_submenu_node(index: int, submenu: PopupMenu) |
void |
set_item_text(index: int, text: String) |
void |
set_item_text_direction(index: int, direction: TextDirection) |
void |
set_item_tooltip(index: int, tooltip: String) |
void |
toggle_item_checked(index: int) |
void |
toggle_item_multistate(index: int) |
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Сигналы
Вызывается, когда пользователь перешел к элементу с некоторым id с помощью действия ввода ProjectSettings.input/ui_up или ProjectSettings.input/ui_down.
Вызывается при нажатии на элемент с определенным id. Также генерируется при активации его акселератора в macOS.
Примечание: Если id отрицательное (либо явно, либо из-за переполнения), будет возвращен соответствующий индекс.
Вызывается при нажатии на элемент с индексом index. Также генерируется при активации соответствующей комбинации клавиш в macOS.
menu_changed() 🔗
Генерируется при добавлении, изменении или удалении любого элемента.
Описания свойств
Если true, позволяет осуществлять навигацию по PopupMenu с помощью буквенных клавиш.
bool hide_on_checkable_item_selection = true 🔗
Если true, скрывает PopupMenu при выборе флажка или переключателя.
bool hide_on_item_selection = true 🔗
Если true, скрывает PopupMenu при выборе элемента.
bool hide_on_state_item_selection = false 🔗
Если true, скрывает PopupMenu при выборе элемента состояния.
Количество элементов в списке на данный момент.
bool prefer_native_menu = false 🔗
Если true, MenuBar будет использовать собственное меню, если поддерживается.
Примечание: Если PopupMenu связан с StatusIndicator, MenuBar или другим элементом PopupMenu, он может использовать собственное меню независимо от этого свойства, используйте is_native_menu(), чтобы проверить это.
If true, shrinks PopupMenu to minimum height when it's shown.
If true, shrinks PopupMenu to minimum width when it's shown.
float submenu_popup_delay = 0.2 🔗
Устанавливает время задержки в секундах для всплывающего окна подменю при наведении курсора мыши. Если всплывающее меню добавлено как дочерний элемент другого (действующее как подменю), оно унаследует время задержки родительского пункта меню.
Примечание: Если курсор мыши выходит из пункта подменю с открытым подменю и переходит в другой пункт подменю, время задержки всплывающего окна подменю зависит от направления движения курсора мыши к открытому подменю. Если курсор мыши движется к подменю, открытое подменю будет ждать приблизительно 0.5 секунды, прежде чем закрыться, что позволит открыться находящемуся подменю. Эта дополнительная задержка дает курсору время переместиться к открытому подменю, не закрывая его преждевременно. Если курсор мыши не движется к открытому подменю, например, вниз, открытое подменю закроется немедленно.
SystemMenus system_menu_id = 0 🔗
void set_system_menu(value: SystemMenus)
SystemMenus get_system_menu()
Если установлено одно из значений SystemMenus, это PopupMenu привязано к специальному системному меню. Только одно PopupMenu может быть привязано к каждому специальному меню одновременно.
Описания метода
bool activate_item_by_event(event: InputEvent, for_global_only: bool = false) 🔗
Проверяет предоставленное event на соответствие сочетаниям клавиш и ускорителям PopupMenu и активирует первый элемент с соответствующими событиями. Если for_global_only равно true, будут вызваны только сочетания клавиш и ускорители с global, установленными на true.
Возвращает true, если элемент был успешно активирован.
Примечание: Некоторые Control, такие как MenuButton, будут вызывать этот метод автоматически.
void add_check_item(label: String, id: int = -1, accel: Key = 0) 🔗
Добавляет новый отмечаемый элемент с текстом label.
id может быть указан дополнительно, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). См. get_item_accelerator() для получения дополнительной информации об ускорителях.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Добавляет новый отмечаемый элемент и назначает ему указанный Shortcut. Устанавливает метку флажка на имя Shortcut.
id может быть указан по желанию. Если id не указан, он будет создан из индекса.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
Добавляет новый отмечаемый элемент с текстом label и значком texture.
id может быть указан дополнительно, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). См. get_item_accelerator() для получения дополнительной информации об ускорителях.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Добавляет новый отмечаемый элемент и назначает ему указанный Shortcut и значок texture. Устанавливает метку флажка на имя Shortcut.
id может быть указан по желанию. Если id не указан, он будет создан из индекса.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
Добавляет новый элемент с текстом label и значком texture.
id может быть указан дополнительно, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). Подробнее об ускорителях см. get_item_accelerator().
void add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗
То же, что и add_icon_check_item(), но использует кнопку-переключатель.
void add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
То же, что и add_icon_check_shortcut(), но использует кнопку-переключатель.
void add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗
Добавляет новый элемент и назначает ему указанный Shortcut и значок texture. Устанавливает метку флажка на имя Shortcut.
id может быть указан по желанию. Если id не указан, он будет создан из индекса.
Если allow_echo равен true, ярлык может быть активирован с помощью событий echo (эхо, подражатель).
void add_item(label: String, id: int = -1, accel: Key = 0) 🔗
Добавляет новый элемент с текстом label.
id может быть указан дополнительно, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). Подробнее об ускорителях см. get_item_accelerator().
Примечание: Указанный id используется только в сигналах id_pressed и id_focused. Он не связан с аргументами index, например, в set_item_checked().
void add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) 🔗
Добавляет новый элемент с несколькими состояниями с текстом label.
В отличие от обычных бинарных элементов, элементы с несколькими состояниями могут иметь более двух состояний, как определено max_states. Значение по умолчанию определяется default_state.
id может быть предоставлен дополнительно, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). См. get_item_accelerator() для получения дополнительной информации об ускорителях.
func _ready():
add_multistate_item("Item", 3, 0)
index_pressed.connect(func(index: int):
toggle_item_multistate(index)
match get_item_multistate(index):
0:
print("Первое состояние")
1:
print("Второе состояние")
2:
print("Третье состояние")
)
Примечание: Элементы с несколькими состояниями не обновляют свое состояние автоматически и это должно быть сделано вручную. См. toggle_item_multistate(), set_item_multistate() и get_item_multistate() для получения дополнительной информации о том, как управлять этим.
void add_radio_check_item(label: String, id: int = -1, accel: Key = 0) 🔗
Добавляет новую кнопку выбора радио с текстом label.
id может быть необязательно указан, а также ускоритель (accel). Если id не указан, он будет создан из индекса. Если accel не указан, то элементу будет назначено значение по умолчанию 0 (соответствующее @GlobalScope.KEY_NONE) (что означает, что у него не будет ускорителя). См. get_item_accelerator() для получения дополнительной информации об ускорителях.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗
Добавляет новую кнопку-переключатель и назначает ей Shortcut. Устанавливает метку флажка на имя Shortcut.
Можно указать id по желанию. Если id не указан, он будет создан из индекса.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную. См. set_item_checked() для получения дополнительной информации о том, как управлять этим.
void add_separator(label: String = "", id: int = -1) 🔗
Добавляет разделитель между элементами. Разделители также занимают индекс, который можно задать с помощью параметра id.
label может быть дополнительно предоставлен, который будет отображаться в центре разделителя.
void add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗
Добавляет Shortcut.
id может быть предоставлен по желанию. Если id не предоставлен, он будет создан из индекса.
Если allow_echo равен true, ярлык может быть активирован с помощью событий echo.
void add_submenu_item(label: String, submenu: String, id: int = -1) 🔗
Устарело: Prefer using add_submenu_node_item() instead.
Добавляет элемент, который будет действовать как подменю родительского узла PopupMenu при щелчке. Аргумент submenu должен быть именем существующего PopupMenu, который был добавлен как дочерний к этому узлу. Это подменю будет показано при щелчке элемента, наведении на него достаточно долго или активации с помощью действий ввода ui_select или ui_right.
id может быть необязательно указан. Если id не указан, он будет создан из индекса.
void add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) 🔗
Добавляет элемент, который будет действовать как подменю родительского узла PopupMenu при щелчке. Это подменю будет показано, когда элемент щелкают, наводят достаточно долго или активируют с помощью действий ввода ui_select или ui_right.
submenu должен быть либо дочерним элементом этого PopupMenu, либо не иметь родительского узла (в этом случае он будет автоматически добавлен как дочерний элемент). Если у всплывающего окна submenu есть другой родитель, этот метод не сработает.
При необходимости можно указать id. Если id не указан, он будет создан из индекса.
void clear(free_submenus: bool = false) 🔗
Удаляет все элементы из PopupMenu. Если free_submenus равен true, узлы подменю автоматически освобождаются.
int get_focused_item() const 🔗
Возвращает индекс текущего сфокусированного элемента. Возвращает -1, если ни один элемент не сфокусирован.
Key get_item_accelerator(index: int) const 🔗
Возвращает акселератор элемента по указанному index. Акселератор (ускоритель) — это сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. Возвращаемое значение — целое число, которое обычно является комбинацией KeyModifierMask и Key с использованием побитового ИЛИ, например KEY_MASK_CTRL | KEY_A (Ctrl + A). Если для указанного index акселератор не определен, get_item_accelerator() возвращает 0 (соответствует @GlobalScope.KEY_NONE).
AutoTranslateMode get_item_auto_translate_mode(index: int) const 🔗
Возвращает режим автоматического перевода элемента по указанному index.
Texture2D get_item_icon(index: int) const 🔗
Возвращает значок элемента по указанному index.
int get_item_icon_max_width(index: int) const 🔗
Возвращает максимально допустимую ширину значка для элемента по указанному index.
Color get_item_icon_modulate(index: int) const 🔗
Возвращает Color, модулирующий значок элемента по указанному index.
int get_item_id(index: int) const 🔗
Возвращает идентификатор элемента по заданному index. id можно назначить вручную, а индекс — нет.
int get_item_indent(index: int) const 🔗
Возвращает горизонтальное смещение элемента по указанному index.
int get_item_index(id: int) const 🔗
Возвращает индекс элемента, содержащего указанный id. Индекс автоматически назначается каждому элементу движком и не может быть установлен вручную.
String get_item_language(index: int) const 🔗
Возвращает код языка текста элемента.
Variant get_item_metadata(index: int) const 🔗
Возвращает метаданные указанного элемента, которые могут быть любого типа. Вы можете задать их с помощью set_item_metadata(), который обеспечивает простой способ назначения контекстных данных элементам.
int get_item_multistate(index: int) const 🔗
Возвращает состояние элемента по указанному index.
int get_item_multistate_max(index: int) const 🔗
Возвращает максимальные состояния элемента по указанному index.
Shortcut get_item_shortcut(index: int) const 🔗
Возвращает Shortcut, связанный с элементом по указанному index.
String get_item_submenu(index: int) const 🔗
Устарело: Prefer using get_item_submenu_node() instead.
Возвращает имя подменю элемента по указанному index. См. add_submenu_item() для получения дополнительной информации о том, как добавить подменю.
PopupMenu get_item_submenu_node(index: int) const 🔗
Возвращает подменю элемента по указанному index или null, если подменю не было добавлено. См. add_submenu_node_item() для получения дополнительной информации о том, как добавить подменю.
String get_item_text(index: int) const 🔗
Возвращает текст элемента по указанному index.
TextDirection get_item_text_direction(index: int) const 🔗
Возвращает базовое направление написания текста элемента.
String get_item_tooltip(index: int) const 🔗
Возвращает подсказку, связанную с элементом по указанному index.
bool is_item_checkable(index: int) const 🔗
Возвращает true, если элемент с указанным index можно отметить каким-либо образом, например, если у него есть флажок или переключатель.
Примечание: Отмечаемые элементы просто отображают галочку или переключатель, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную.
bool is_item_checked(index: int) const 🔗
Возвращает true, если элемент с указанным index отмечен.
bool is_item_disabled(index: int) const 🔗
Возвращает true, если элемент с указанным index отключен. Когда он отключен, его нельзя выбрать или вызвать его действие.
См. set_item_disabled() для получения дополнительной информации о том, как отключить элемент.
bool is_item_radio_checkable(index: int) const 🔗
Возвращает true, если элемент с указанным index имеет возможность отмечать в стиле радиокнопки.
Примечание: Это чисто косметическое действие; необходимо добавить логику для отметки/снятия отметки элементов в радио-группах.
bool is_item_separator(index: int) const 🔗
Возвращает true, если элемент является разделителем. Если это так, он будет отображен в виде линии. См. add_separator() для получения дополнительной информации о том, как добавить разделитель.
bool is_item_shortcut_disabled(index: int) const 🔗
Возвращает true, если ярлык указанного элемента отключен.
Возвращает true, если системное собственное меню поддерживается и в данный момент используется этим PopupMenu.
Возвращает true, если меню привязано к специальному системному меню.
void remove_item(index: int) 🔗
Удаляет элемент с указанным index из меню.
Примечание: Индексы элементов после удаленного элемента будут смещены на единицу.
void scroll_to_item(index: int) 🔗
Перемещает вид прокрутки, делая видимым элемент с указанным index.
void set_focused_item(index: int) 🔗
Устанавливает текущий сфокусированный элемент как заданный index.
Передача -1 в качестве индекса делает так, что ни один элемент не будет сфокусирован.
void set_item_accelerator(index: int, accel: Key) 🔗
Устанавливает акселератор элемента по указанному index. Акселератор (ускоритель) — это сочетание клавиш, которое можно нажать для вызова кнопки меню, даже если оно в данный момент не открыто. accel — это, как правило, комбинация KeyModifierMask и Key с использованием побитового ИЛИ, например, KEY_MASK_CTRL | KEY_A (Ctrl + A).
void set_item_as_checkable(index: int, enable: bool) 🔗
Устанавливает, есть ли у элемента с указанным index флажок. Если false, задает тип элемента как обычный текст.
Примечание: Отмечаемые элементы просто отображают галочку, но не имеют встроенного поведения проверки и должны быть отмечены/сняты вручную.
void set_item_as_radio_checkable(index: int, enable: bool) 🔗
Устанавливает тип элемента в указанном index на радиокнопку. Если false, тип элемента устанавливается в виде обычного текста.
void set_item_as_separator(index: int, enable: bool) 🔗
Отметить элемент с указанным index как разделитель, что означает, что он будет отображаться как строка. Если false, устанавливается тип элемента в виде обычного текста.
void set_item_auto_translate_mode(index: int, mode: AutoTranslateMode) 🔗
Устанавливает режим автоматического перевода элемента по указанному index.
Элементы используют Node.AUTO_TRANSLATE_MODE_INHERIT по умолчанию, которая использует тот же режим автоматического перевода, что и само PopupMenu.
void set_item_checked(index: int, checked: bool) 🔗
Устанавливает состояние проверки элемента по указанному index.
void set_item_disabled(index: int, disabled: bool) 🔗
Включает/отключает элемент с указанным index. Когда он отключен, его нельзя выбрать и его действие нельзя вызвать.
void set_item_icon(index: int, icon: Texture2D) 🔗
Заменяет значок Texture2D элемента с указанным index.
void set_item_icon_max_width(index: int, width: int) 🔗
Устанавливает максимально допустимую ширину значка для элемента с указанным index. Это ограничение применяется поверх размера значка по умолчанию и поверх icon_max_width. Высота регулируется в соответствии с соотношением сторон значка.
void set_item_icon_modulate(index: int, modulate: Color) 🔗
Устанавливает модулирующий цвет Color значка элемента по указанному index.
void set_item_id(index: int, id: int) 🔗
Устанавливает id элемента по указанному index.
id используется в сигналах id_pressed и id_focused.
void set_item_indent(index: int, indent: int) 🔗
Устанавливает горизонтальное смещение элемента по указанному index.
void set_item_language(index: int, language: String) 🔗
Устанавливает языковой код текста для элемента по заданному индексу равным language. Это используется для алгоритмов переноса строк и формирования текста. Если language пусто, используется текущая локаль.
void set_item_metadata(index: int, metadata: Variant) 🔗
Устанавливает метаданные элемента, которые могут быть любого типа. Позже вы можете получить их с помощью get_item_metadata(), который обеспечивает простой способ назначения контекстных данных элементам.
void set_item_multistate(index: int, state: int) 🔗
Устанавливает состояние элемента с несколькими состояниями. Подробности см. в add_multistate_item().
void set_item_multistate_max(index: int, max_states: int) 🔗
Устанавливает максимальные состояния элемента с несколькими состояниями. Подробности см. в add_multistate_item().
void set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) 🔗
Устанавливает Shortcut для элемента с указанным index.
void set_item_shortcut_disabled(index: int, disabled: bool) 🔗
Отключает Shortcut элемента с указанным index.
void set_item_submenu(index: int, submenu: String) 🔗
Устарело: Prefer using set_item_submenu_node() instead.
Устанавливает подменю элемента с указанным index. Подменю — это имя дочернего узла PopupMenu, который будет показан при щелчке по элементу.
void set_item_submenu_node(index: int, submenu: PopupMenu) 🔗
Устанавливает подменю элемента с указанным index. Подменю — это узел PopupMenu, который будет показан при щелчке по элементу. Он должен быть либо дочерним элементом этого PopupMenu, либо не иметь родителя (в этом случае он будет автоматически добавлен как дочерний элемент). Если у всплывающего элемента submenu есть другой родитель, этот метод завершится ошибкой.
void set_item_text(index: int, text: String) 🔗
Устанавливает текст элемента по указанному index.
void set_item_text_direction(index: int, direction: TextDirection) 🔗
Устанавливает базовое направление написания текста элемента.
void set_item_tooltip(index: int, tooltip: String) 🔗
Устанавливает подсказку String для элемента с указанным index.
void toggle_item_checked(index: int) 🔗
Переключает состояние проверки элемента по указанному index.
void toggle_item_multistate(index: int) 🔗
Перейти к следующему состоянию элемента с несколькими состояниями. Подробности см. в add_multistate_item().
Описания свойств темы
Color font_accelerator_color = Color(0.7, 0.7, 0.7, 0.8) 🔗
Текст Color, используемый для ярлыков и ускорителей, которые отображаются рядом с именем пункта меню при определении. См. get_item_accelerator() для получения дополнительной информации об ускорителях (accelerators).
Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗
Текст по умолчанию Color для названий пунктов меню.
Color font_disabled_color = Color(0.4, 0.4, 0.4, 0.8) 🔗
Color используется для текста, в отключенных пунктах меню.
Color font_hover_color = Color(0.875, 0.875, 0.875, 1) 🔗
Color используется для наведенного текста.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
Оттенок контура текста пункта меню.
Color font_separator_color = Color(0.875, 0.875, 0.875, 1) 🔗
Color используется для текста маркированных разделителей. См. add_separator().
Color font_separator_outline_color = Color(0, 0, 0, 1) 🔗
Оттенок контура текста маркированного разделителя.
Если значение не равно 0, то, по возможности, область с иконками будет объединена с областью с флажками. Это логическое значение.
Горизонтальное пространство между элементами.
Максимально допустимая ширина значка элемента. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью set_item_icon_max_width(). Высота регулируется в соответствии с соотношением значка.
Ширина одного уровня отступа.
Горизонтальный отступ справа от элементов (или слева в макете с написанием справа налево).
Горизонтальный отступ слева от элементов (или справа в макете с написанием справа налево).
Размер контура текста элемента.
Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды раза больше значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.
int separator_outline_size = 0 🔗
Размер контура текста маркированного разделителя.
Вертикальное расстояние между каждым пунктом меню.
Font используемый для пунктов меню.
Font, используемый для маркированного разделителя.
Размер шрифта маркированного разделителя.
Размер шрифта пунктов меню.
Значок Texture2D для отмеченных флажками элементов.
Значок Texture2D для отмеченных флажками элементов, когда они отключены.
Значок Texture2D для отмеченных элементов переключателя.
Texture2D radio_checked_disabled 🔗
Значок Texture2D для отмеченных элементов переключателя, когда они отключены.
Значок Texture2D для неотмеченных элементов переключателя.
Texture2D radio_unchecked_disabled 🔗
Значок Texture2D для неотмеченных элементов переключателя, когда они отключены.
Значок Texture2D для стрелки подменю (для макетов слева направо).
Значок Texture2D для стрелки подменю (для макетов справа налево).
Значок Texture2D для неотмеченных флажков.
Texture2D unchecked_disabled 🔗
Значок Texture2D для неотмеченных элементов флажка, когда они отключены.
StyleBox отображается при наведении курсора на элемент PopupMenu.
StyleBox labeled_separator_left 🔗
StyleBox для левой стороны маркированного разделителя. См. add_separator().
StyleBox labeled_separator_right 🔗
StyleBox для правой стороны маркированного разделителя. См. add_separator().
StyleBox для фоновой панели.
StyleBox используется для разделителей. См. add_separator().