OptionButton

Успадковує: Button < BaseButton < Control < CanvasItem < Node < Object

Кнопка, яка виводить випадання з вибірковими опціями при натисканні.

Опис

OptionButton – це тип кнопки, яка при натисканні відкриває випадаючий список з елементами, які можна вибрати. Вибраний елемент стає «поточним» елементом і відображається як текст кнопки.

Див. також BaseButton, який містить загальні властивості та методи, пов’язані з цим вузлом.

Примітка: Ідентифікатори, що використовуються для елементів, обмежені 32-бітними цілими числами зі знаком, а не повними 64 бітами int. Вони мають діапазон від -2^31 до 2^31 - 1, тобто від -2147483648 до 2147483647.

Примітка: Властивості Button.text та Button.icon встановлюються автоматично на основі вибраного елемента. Їх не слід змінювати вручну.

Властивості

ActionMode

action_mode

0 (overrides BaseButton)

HorizontalAlignment

alignment

0 (overrides Button)

bool

allow_reselect

false

bool

fit_to_longest_item

true

int

item_count

0

int

selected

-1

bool

toggle_mode

true (overrides BaseButton)

Методи

void

add_icon_item(texture: Texture2D, label: String, id: int = -1)

void

add_item(label: String, id: int = -1)

void

add_separator(text: String = "")

void

clear()

AutoTranslateMode

get_item_auto_translate_mode(idx: int) const

Texture2D

get_item_icon(idx: int) const

int

get_item_id(idx: int) const

int

get_item_index(id: int) const

Variant

get_item_metadata(idx: int) const

String

get_item_text(idx: int) const

String

get_item_tooltip(idx: int) const

PopupMenu

get_popup() const

int

get_selectable_item(from_last: bool = false) const

int

get_selected_id() const

Variant

get_selected_metadata() const

bool

has_selectable_items() const

bool

is_item_disabled(idx: int) const

bool

is_item_separator(idx: int) const

void

remove_item(idx: int)

void

select(idx: int)

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

show_popup()

Властивості теми

int

arrow_margin

4

int

modulate_arrow

0

Texture2D

arrow


Сигнали

item_focused(index: int) 🔗

Увімкнено, коли користувач навігує на предмет, використовуючи ProjectSettings.input/ui_up або ProjectSettings.input/ui_down вхідні дії. Індекс вибраного елемента передається як аргумент.


item_selected(index: int) 🔗

Увімкнено, коли поточний елемент змінено користувачем. Індекс вибраного елемента передається як аргумент.

allow_reselect повинен бути включений для видалення елемента.


Описи властивостей

bool allow_reselect = false 🔗

  • void set_allow_reselect(value: bool)

  • bool get_allow_reselect()

Якщо true, в даний час вибраний пункт можна вибрати знову.


bool fit_to_longest_item = true 🔗

  • void set_fit_to_longest_item(value: bool)

  • bool is_fit_to_longest_item()

Якщо true, мінімальний розмір буде визначений текстом найдовшого елемента, замість того, що в даний час вибрано один.

Примітка: З причин виконання, мінімальний розмір не змінюється відразу при додаванні, видаленні або модифікації елементів.


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

Кількість елементів для вибору.


int selected = -1 🔗

  • 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 get_popup() const 🔗

Повертаємо PopupMenu, що міститься в цій кнопці.

Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх пам'ятне вікно.видиме.


int get_selectable_item(from_last: bool = false) const 🔗

Повертає індекс першого елемента, який не вимкнений, або позначений як сепаратор. Якщо from_last є true, елементи будуть шукати у зворотному порядку.

Повертає -1, якщо елемента не знайдено.


int get_selected_id() const 🔗

Повертає ідентифікатор вибраного елемента, або -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 позначається як сепаратор.


void remove_item(idx: int) 🔗

Видаліть пункт в індексі idx.


void select(idx: int) 🔗

Вибирає елемент за індексом і робить його поточним елементом. Це буде працювати навіть якщо елемент вимкнено.

Передача -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().


Описи тематичної нерухомості

int arrow_margin = 4 🔗

Горизонтальний простір між іконкою стріли і правим краєм кнопки.


int modulate_arrow = 0 🔗

Якщо відрізняється від 0, значок стріли буде модулювати до кольору шрифту.


Texture2D arrow 🔗

Ікона стріли повинна бути намальована на правому кінці кнопки.