Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
OptionButton
Наследует: Button < BaseButton < Control < CanvasItem < Node < Object
Кнопка, при нажатии на которую открывается раскрывающийся список с вариантами выбора.
Описание
OptionButton — это тип кнопки, при нажатии на которую открывается раскрывающийся список с доступными для выбора элементами. Выбранный элемент становится текущим и отображается в виде текста кнопки.
См. также BaseButton, содержащий общие свойства и методы, связанные с этим узлом.
Примечание: Идентификаторы элементов ограничены 32-битными целыми числами со знаком, а не полными 64 битами int. Диапазон значений — от -2^31 до 2^31 - 1, то есть от -2147483648 до 2147483647.
Примечание: Свойства Button.text и Button.icon устанавливаются автоматически в зависимости от выбранного элемента. Их не следует изменять вручную.
Свойства
action_mode |
|
|
alignment |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
toggle_mode |
|
Методы
void |
add_icon_item(texture: Texture2D, label: String, id: int = -1) |
void |
|
void |
add_separator(text: String = "") |
void |
clear() |
get_item_auto_translate_mode(idx: int) const |
|
get_item_icon(idx: int) const |
|
get_item_id(idx: int) const |
|
get_item_index(id: int) const |
|
get_item_metadata(idx: int) const |
|
get_item_text(idx: int) const |
|
get_item_tooltip(idx: int) const |
|
get_popup() const |
|
get_selectable_item(from_last: bool = false) const |
|
get_selected_id() const |
|
get_selected_metadata() const |
|
has_selectable_items() const |
|
is_item_disabled(idx: int) const |
|
is_item_separator(idx: int) const |
|
void |
remove_item(idx: int) |
void |
|
void |
set_disable_shortcuts(disabled: bool) |
void |
set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) |
void |
set_item_disabled(idx: int, disabled: bool) |
void |
set_item_icon(idx: int, texture: Texture2D) |
void |
set_item_id(idx: int, id: int) |
void |
set_item_metadata(idx: int, metadata: Variant) |
void |
set_item_text(idx: int, text: String) |
void |
set_item_tooltip(idx: int, tooltip: String) |
void |
Свойства темы
|
||
|
||
Сигналы
Генерируется, когда пользователь переходит к элементу, используя действия ввода ProjectSettings.input/ui_up или ProjectSettings.input/ui_down. В качестве аргумента передается индекс элемента, на котором был установлен фокус.
Вызывается, когда текущий элемент был изменен пользователем. Индекс выбранного элемента передается как аргумент.
allow_reselect должен быть включен для повторного выбора элемента.
Описания свойств
Если true, текущий выбранный элемент можно выбрать снова.
bool fit_to_longest_item = true 🔗
Если true, минимальный размер будет определяться текстом самого длинного элемента, а не текущего выбранного.
Примечание: Из соображений производительности минимальный размер не обновляется немедленно при добавлении, удалении или изменении элементов.
Количество элементов для выбора.
bool popup/item_{index}/disabled = false 🔗
Если true, элемент по index отключен.
Примечание: index — это значение в диапазоне 0 .. item_count - 1.
Texture2D popup/item_{index}/icon 🔗
Значок элемента по адресу index.
Примечание: index — это значение в диапазоне 0 .. item_count - 1.
int popup/item_{index}/id = 0 🔗
ID Идентификатор элемента по адресу index.
Примечание: index — это значение в диапазоне от 0 .. item_count - 1.
bool popup/item_{index}/separator = false 🔗
Если true, то элемент по адресу index является разделителем.
Примечание: index — это значение в диапазоне 0 .. item_count - 1.
String popup/item_{index}/text = "" 🔗
Текст элемента по адресу index.
Примечание: index — это значение в диапазоне 0 .. item_count - 1.
bool search_bar_enabled = false 🔗
Если true, в верхней части PopupMenu отображается строка поиска для фильтрации элементов. См. search_bar_min_item_count для динамического управления ее видимостью в зависимости от количества элементов.
bool search_bar_fuzzy_search_enabled = true 🔗
Если true, включается нечеткий поиск в строке поиска PopupMenu. Это позволяет включать в результаты поиска элементы, которые почти соответствуют поисковому запросу, а также элементы, которые соответствуют отдельным символам поискового запроса, но не по порядку.
Используйте search_bar_fuzzy_search_max_misses, чтобы установить максимальное количество несовпадений, допустимых в результатах поиска.
int search_bar_fuzzy_search_max_misses = 2 🔗
void set_search_bar_fuzzy_search_max_misses(value: int)
int get_search_bar_fuzzy_search_max_misses()
Устанавливает максимальное количество несовпадений, допустимых в каждом результате поиска, когда для поисковой строки PopupMenu включен нечеткий поиск. Любой элемент с большим количеством несовпадений будет скрыт из результатов поиска.
int search_bar_min_item_count = 0 🔗
Устанавливает минимальное количество элементов, необходимое для отображения поисковой строки PopupMenu. Для того чтобы это вступило в силу, параметр search_bar_enabled должен быть true.
int get_selected()
Индекс текущего выбранного элемента или -1 , если элемент не выбран.
Описания метода
void add_icon_item(texture: Texture2D, label: String, id: int = -1) 🔗
Добавляет элемент с иконкой texture, текстом label и (необязательно) id. Если id не передан, в качестве идентификатора элемента будет использоваться индекс элемента. Новые элементы добавляются в конец.
Примечание: Элемент будет выбран, если других элементов нет.
void add_item(label: String, id: int = -1) 🔗
Добавляет элемент с текстом label и (необязательно) id. Если id не передан, в качестве идентификатора элемента будет использоваться индекс элемента. Новые элементы добавляются в конец.
Примечание: Элемент будет выбран, если других элементов нет.
void add_separator(text: String = "") 🔗
Добавляет разделитель в список элементов. Разделители помогают группировать элементы и могут быть дополнительно заданы заголовком text. Разделителю также назначается индекс, и он добавляется в конец списка элементов.
void clear() 🔗
Очищает все элементы в OptionButton.
AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗
Возвращает режим автоматического перевода элемента по индексу idx.
Texture2D get_item_icon(idx: int) const 🔗
Возвращает значок элемента по индексу idx.
int get_item_id(idx: int) const 🔗
Возвращает идентификатор элемента по индексу idx.
int get_item_index(id: int) const 🔗
Возвращает индекс элемента с указанным id.
Variant get_item_metadata(idx: int) const 🔗
Извлекает метаданные элемента. Метаданные могут быть любого типа и могут использоваться для хранения дополнительной информации об элементе, например внешнего строкового идентификатора.
String get_item_text(idx: int) const 🔗
Возвращает текст элемента по индексу idx.
String get_item_tooltip(idx: int) const 🔗
Возвращает подсказку элемента с индексом idx.
Возвращает PopupMenu, содержащийся в этой кнопке.
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство Window.visible.
int get_selectable_item(from_last: bool = false) const 🔗
Возвращает индекс первого элемента, который не отключен или не помечен как разделитель. Если from_last равен true, элементы будут искаться в обратном порядке.
Возвращает -1, если элемент не найден.
Возвращает идентификатор выбранного элемента или -1, если ни один элемент не выбран.
Variant get_selected_metadata() const 🔗
Получает метаданные выбранного элемента. Метаданные для элементов можно задать с помощью set_item_metadata().
bool has_selectable_items() const 🔗
Возвращает true, если эта кнопка содержит хотя бы один элемент, который не отключен или не помечен как разделитель.
bool is_item_disabled(idx: int) const 🔗
Возвращает true, если элемент с индексом idx отключен.
bool is_item_separator(idx: int) const 🔗
Возвращает true, если элемент с индексом idx помечен как разделитель.
Удаляет элемент с индексом idx.
Выбирает элемент по индексу и делает его текущим элементом. Это будет работать, даже если элемент отключен.
Передача -1 в качестве индекса отменяет выбор любого выбранного в данный момент элемента.
void set_disable_shortcuts(disabled: bool) 🔗
Если true, сочетания клавиш отключены и не могут использоваться для активации кнопки.
void set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) 🔗
Устанавливает режим автоматического перевода элемента с индексом idx.
Элементы используют Node.AUTO_TRANSLATE_MODE_INHERIT по умолчанию, который использует тот же режим автоматического перевода, что и сам OptionButton.
void set_item_disabled(idx: int, disabled: bool) 🔗
Устанавливает, отключен ли элемент с индексом idx.
Отключенные элементы отображаются в раскрывающемся списке по-другому и не могут быть выбраны пользователем. Если текущий выбранный элемент установлен как отключенный, он останется выбранным.
void set_item_icon(idx: int, texture: Texture2D) 🔗
Устанавливает значок элемента по индексу idx.
void set_item_id(idx: int, id: int) 🔗
Устанавливает идентификатор (ID) элемента по индексу idx.
void set_item_metadata(idx: int, metadata: Variant) 🔗
Устанавливает метаданные элемента. Метаданные могут быть любого типа и могут использоваться для хранения дополнительной информации об элементе, например внешнего строкового идентификатора.
void set_item_text(idx: int, text: String) 🔗
Устанавливает текст элемента по индексу idx.
void set_item_tooltip(idx: int, tooltip: String) 🔗
Устанавливает подсказку для элемента с индексом idx.
void show_popup() 🔗
Настраивает положение и размер всплывающего окна для OptionButton, затем показывает PopupMenu. Предпочтительнее использовать этот метод, чем get_popup().popup().
Описания свойств темы
Горизонтальное пространство между значком стрелки и правым краем кнопки.
Если значение отличается от 0, значок стрелки будет изменен в соответствии с цветом шрифта.
Значок стрелки, который будет нарисован на правом конце кнопки.