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 🔗
Ідентифікатор елемента на 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 🔗
Перегляд метаданих пункту. Метадані може бути будь-яким типом і може бути використаний для зберігання додаткової інформації про елемент, наприклад, зовнішній рядок ID.
String get_item_text(idx: int) const 🔗
Повертає текст пункту за індексом idx.
String get_item_tooltip(idx: int) const 🔗
Повертаємо пристрій пункту індексу idx.
Повертаємо PopupMenu, що міститься в цій кнопці.
Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх пам'ятне вікно.видиме.
int get_selectable_item(from_last: bool = false) const 🔗
Повертає індекс першого елемента, який не вимкнений, або позначений як сепаратор. Якщо from_last є true, елементи будуть шукати у зворотному порядку.
Повертає -1, якщо елемента не знайдено.
Повертає ідентифікатор вибраного елемента, або -1, якщо елемент не обрано.
Variant get_selected_metadata() const 🔗
Отримує метадані вибраного елемента. Метадані для елементів можна встановити за допомогою _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) 🔗
Встановлює ідентифікатор елемента в індексі idx.
void set_item_metadata(idx: int, metadata: Variant) 🔗
Налаштовує метадані пункту. Метадані можуть бути будь-якого типу і можуть бути використані для зберігання додаткової інформації про елемент, наприклад, зовнішній рядок ID.
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, значок стріли буде модулювати до кольору шрифту.
Ікона стріли повинна бути намальована на правому кінці кнопки.