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...
BaseButton
Наследует: Control < CanvasItem < Node < Object
Наследуется от: Button, LinkButton, TextureButton
Абстрактный базовый класс для кнопок графического интерфейса.
Описание
BaseButton — абстрактный базовый класс для кнопок GUI. Сам по себе он ничего не отображает.
Свойства
|
||
BitField[MouseButtonMask] |
|
|
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
Методы
void |
_pressed() virtual |
void |
|
get_draw_mode() const |
|
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.
Выдается, когда кнопка была просто переключена между нажатым и нормальным состояниями (только если 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 🔗
void set_action_mode(value: ActionMode)
ActionMode get_action_mode()
Определяет, когда кнопка считается нажатой.
ButtonGroup button_group 🔗
void set_button_group(value: ButtonGroup)
ButtonGroup get_button_group()
ButtonGroup, связанная с кнопкой. Не путать с группами узлов.
Примечание: Кнопка будет настроена как радиокнопка, если ей назначена ButtonGroup.
BitField[MouseButtonMask] button_mask = 1 🔗
void set_button_mask(value: BitField[MouseButtonMask])
BitField[MouseButtonMask] get_button_mask()
Двоичная маска для выбора кнопок мыши, на которые будет реагировать эта кнопка.
Чтобы разрешить как левый, так и правый щелчок, используйте MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT.
Если true, состояние кнопки нажато. Означает, что кнопка нажата или переключена (если toggle_mode активен). Работает только если toggle_mode равен true.
Примечание: Изменение значения button_pressed приведет к отправке toggled. Если вы хотите изменить состояние нажатия без отправки этого сигнала, используйте set_pressed_no_signal().
Если true, кнопка находится в неактивном состоянии и не может быть нажата или переключена.
Примечание: Если кнопка неактивна при нажатии, будет подан сигнал button_up.
bool keep_pressed_outside = false 🔗
Если true, кнопка остается нажатой при перемещении курсора за пределы кнопки во время нажатия на нее.
Примечание: Это свойство влияет только на внешний вид кнопки. Сигналы будут выдаваться в тот же момент, независимо от значения этого свойства.
Ярлык (Shortcut), связанный с кнопкой.
bool shortcut_feedback = true 🔗
Если true, кнопка будет подсвечена на короткое время, когда ее ярлык активирован. Если false и toggle_mode равен false, ярлык активируется без какой-либо визуальной обратной связи.
bool shortcut_in_tooltip = true 🔗
Если true, кнопка добавит информацию о своем ярлыке во всплывающую подсказку. Это включает события ярлыка и его Resource.resource_name. Если и события, и имя пусты, ярлык не будет включен.
Примечание: Это свойство ничего не делает, если элемент управления всплывающей подсказкой настроен с помощью Control._make_custom_tooltip().
Если true, кнопка находится в режиме переключения. Заставляет кнопку переключать состояние между нажатым и ненажатым каждый раз, когда нажимается ее область.
Описания метода
void _pressed() virtual 🔗
Вызывается при нажатии кнопки. Если вам нужно узнать нажатое состояние кнопки (и toggle_mode активен), используйте вместо этого _toggled().
void _toggled(toggled_on: bool) virtual 🔗
Вызывается при переключении кнопки (только если активен toggle_mode).
DrawMode get_draw_mode() const 🔗
Возвращает визуальное состояние, используемое для отрисовки кнопки. Это полезно в основном при реализации собственного кода отрисовки путем переопределения _draw() или подключения к сигналу "draw". Визуальное состояние кнопки определяется перечислением DrawMode.
Возвращает true, если мышь вошла в кнопку и еще не покинула ее.
void set_pressed_no_signal(pressed: bool) 🔗
Изменяет состояние button_pressed кнопки, не выдавая toggled. Используйте, когда вы просто хотите изменить состояние кнопки, не отправляя событие нажатия (например, при инициализации сцены). Работает только если toggle_mode равно true.
Примечание: Этот метод не отжимает другие кнопки в button_group.