BaseButton

Наследует: Control < CanvasItem < Node < Object

Наследуется от: Button, LinkButton, TextureButton

Абстрактный базовый класс для кнопок графического интерфейса.

Описание

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 🔗

Ярлык (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()

Если true, кнопка добавит информацию о своем сочетании клавиш в подсказку.

Примечание: Это свойство ничего не делает, когда элемент управления подсказкой настраивается с помощью 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.