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.

BaseButton

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

Успадковано від: Button, LinkButton, TextureButton

Абстрактний базовий клас для кнопок GUI.

Опис

BaseButton — це абстрактний базовий клас для кнопок GUI. Сам по собі нічого не відображає.

Властивості

ActionMode

action_mode

1

ButtonGroup

button_group

BitField[MouseButtonMask]

button_mask

1

bool

button_pressed

false

bool

disabled

false

FocusMode

focus_mode

2 (overrides Control)

bool

keep_pressed_outside

false

Shortcut

shortcut

bool

shortcut_feedback

true

bool

shortcut_in_tooltip

true

bool

toggle_mode

false

Методи

void

_pressed() virtual

void

_toggled(toggled_on: bool) virtual

DrawMode

get_draw_mode() const

bool

is_hovered() const

void

set_pressed_no_signal(pressed: bool)


Сигнали

button_down() 🔗

Випромінюється, коли кнопку починають утримувати.


button_up() 🔗

Випромінюється, коли кнопка перестає бути натиснутою.


pressed() 🔗

Випромінюється під час перемикання або натискання кнопки. Це на button_down, якщо action_mode ACTION_MODE_BUTTON_PRESS і на button_up інакше.

Якщо вам потрібно знати стан натиснутої кнопки (і toggle_mode активний), замість цього використовуйте toggled.


toggled(toggled_on: bool) 🔗

Видається, коли кнопку щойно перемикали між натиснутим і нормальним станами (лише якщо toggle_mode активний). Новий стан міститься в аргументі toggled_on.


Переліки

enum DrawMode: 🔗

DrawMode DRAW_NORMAL = 0

Нормальний стан (тобто не натиснуті, не наведені, не перемикаються та ввімкнені) кнопок.

DrawMode DRAW_PRESSED = 1

Стан кнопок натиснуті.

DrawMode DRAW_HOVER = 2

Стан кнопок наведено.

DrawMode DRAW_DISABLED = 3

Стан кнопок вимкнено.

DrawMode DRAW_HOVER_PRESSED = 4

Стан кнопок як наведені, так і натиснуті.


enum ActionMode: 🔗

ActionMode ACTION_MODE_BUTTON_PRESS = 0

Потрібно лише натиснути, щоб вважати кнопку натиснутою.

ActionMode ACTION_MODE_BUTTON_RELEASE = 1

Вимагайте натискання та подальшого відпускання, перш ніж вважати кнопку натиснутою.


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

ActionMode action_mode = 1 🔗

Визначає, коли кнопка вважається натиснутою.


ButtonGroup button_group 🔗

ButtonGroup, пов’язаний із кнопкою. Не плутати з групами вузлів.

Примітка: Кнопку буде налаштовано як перемикач, якщо їй призначено ButtonGroup.


BitField[MouseButtonMask] button_mask = 1 🔗

Бінарна маска, щоб вибрати, на які кнопки миші ця кнопка реагуватиме.

Щоб дозволити клацання як лівою, так і правою кнопкою миші, використовуйте MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT.


bool button_pressed = false 🔗

  • void set_pressed(value: bool)

  • bool is_pressed()

Якщо true, кнопка натиснута. Означає, що кнопку натиснуто або перемикається (якщо toggle_mode активний). Працює, лише якщо toggle_mode має значення true.

Примітка: Зміна значення button_pressed призведе до випромінювання toggled. Якщо ви хочете змінити натиснутий стан без випромінювання цього сигналу, використовуйте set_pressed_no_signal().


bool disabled = false 🔗

  • void set_disabled(value: bool)

  • bool is_disabled()

Якщо true, кнопка вимкнена і її не можна натиснути або перемкнути.

Примітка: Якщо кнопка вимкнена під час утримання, буде випущено button_up.


bool keep_pressed_outside = false 🔗

  • void set_keep_pressed_outside(value: bool)

  • bool is_keep_pressed_outside()

Якщо true, кнопка залишається натиснутою під час переміщення курсору за межі кнопки під час її натискання.

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


Shortcut shortcut 🔗

  • void set_shortcut(value: Shortcut)

  • Shortcut get_shortcut()

Ярлик, пов’язаний із кнопкою.


bool shortcut_feedback = true 🔗

  • void set_shortcut_feedback(value: bool)

  • bool is_shortcut_feedback()

Якщо true, кнопка підсвічується на короткий проміжок часу, коли її ярлик активовано. Якщо false і toggle_mode має значення false, ярлик активується без візуального зворотного зв’язку.


bool shortcut_in_tooltip = true 🔗

  • void set_shortcut_in_tooltip(value: bool)

  • bool is_shortcut_in_tooltip_enabled()

If true, the button will add information about its shortcut in the tooltip. This includes the shortcut's events and its Resource.resource_name. If both events and name are empty, the shortcut will not be included.

Note: This property does nothing when the tooltip control is customized using Control._make_custom_tooltip().


bool toggle_mode = false 🔗

  • void set_toggle_mode(value: bool)

  • bool is_toggle_mode()

Якщо true, кнопка перебуває в режимі перемикання. Перемикає стан кнопки між натиснутим і не натиснутим щоразу, коли її область клацає.


Описи методів

void _pressed() virtual 🔗

Викликається при натисканні кнопки. Якщо вам потрібно знати стан натиснутої кнопки (і toggle_mode активний), замість цього використовуйте _toggled().


void _toggled(toggled_on: bool) virtual 🔗

Викликається, коли кнопка перемикається (тільки якщо toggle_mode активний).


DrawMode get_draw_mode() const 🔗

Повертає візуальний стан, використаний для малювання кнопки. Це корисно головним чином під час реалізації вашого власного коду малювання шляхом заміни _draw() або підключення до сигналу "draw". Візуальний стан кнопки визначається переліком DrawMode.


bool is_hovered() const 🔗

Повертає true, якщо миша натиснула кнопку, але ще не залишила її.


void set_pressed_no_signal(pressed: bool) 🔗

Змінює button_pressed стан кнопки, не випромінюючи toggled. Використовуйте, коли ви просто хочете змінити стан кнопки без надсилання натиснутої події (наприклад, під час ініціалізації сцени). Працює, лише якщо toggle_mode має значення true.

Примітка. Цей метод не скасовує натискання інших кнопок у button_group.