Button

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

Наследуется от: CheckBox, CheckButton, ColorPickerButton, MenuButton, OptionButton

Тематическая кнопка, которая может содержать текст и значок.

Описание

Button — это стандартная тематическая кнопка. Она может содержать текст и значок, и она будет отображать их в соответствии с текущей Theme.

Пример: Создайте кнопку и подключите метод, который будет вызываться при нажатии кнопки:

func _ready():
    var button = Button.new()
    button.text = "Click me"
    button.pressed.connect(_button_pressed)
    add_child(button)

func _button_pressed():
    print("Hello world!")

См. также BaseButton, который содержит общие свойства и методы, связанные с этим узлом.

Примечание: Кнопки не обнаруживают сенсорный ввод и, следовательно, не поддерживают мультитач, поскольку эмуляция мыши может нажимать только одну кнопку в определенный момент времени. Используйте TouchScreenButton для кнопок, которые запускают игровое движение или действия.

Обучающие материалы

Свойства

HorizontalAlignment

alignment

1

AutowrapMode

autowrap_mode

0

BitField[LineBreakFlag]

autowrap_trim_flags

128

bool

clip_text

false

bool

expand_icon

false

bool

flat

false

Texture2D

icon

HorizontalAlignment

icon_alignment

0

String

language

""

String

text

""

TextDirection

text_direction

0

OverrunBehavior

text_overrun_behavior

0

VerticalAlignment

vertical_icon_alignment

1

Свойства темы

Color

font_color

Color(0.875, 0.875, 0.875, 1)

Color

font_disabled_color

Color(0.875, 0.875, 0.875, 0.5)

Color

font_focus_color

Color(0.95, 0.95, 0.95, 1)

Color

font_hover_color

Color(0.95, 0.95, 0.95, 1)

Color

font_hover_pressed_color

Color(1, 1, 1, 1)

Color

font_outline_color

Color(0, 0, 0, 1)

Color

font_pressed_color

Color(1, 1, 1, 1)

Color

icon_disabled_color

Color(1, 1, 1, 0.4)

Color

icon_focus_color

Color(1, 1, 1, 1)

Color

icon_hover_color

Color(1, 1, 1, 1)

Color

icon_hover_pressed_color

Color(1, 1, 1, 1)

Color

icon_normal_color

Color(1, 1, 1, 1)

Color

icon_pressed_color

Color(1, 1, 1, 1)

int

align_to_largest_stylebox

0

int

h_separation

4

int

icon_max_width

0

int

line_spacing

0

int

outline_size

0

Font

font

int

font_size

Texture2D

icon

StyleBox

disabled

StyleBox

disabled_mirrored

StyleBox

focus

StyleBox

hover

StyleBox

hover_mirrored

StyleBox

hover_pressed

StyleBox

hover_pressed_mirrored

StyleBox

normal

StyleBox

normal_mirrored

StyleBox

pressed

StyleBox

pressed_mirrored


Описания свойств

HorizontalAlignment alignment = 1 🔗

Правила выравнивания текста кнопки.


AutowrapMode autowrap_mode = 0 🔗

Если задано значение, отличное от TextServer.AUTOWRAP_OFF, текст будет заключен внутри ограничивающего прямоугольника узла.


BitField[LineBreakFlag] autowrap_trim_flags = 128 🔗

Флаги обрезки пространства автопереноса. См. TextServer.BREAK_TRIM_START_EDGE_SPACES и TextServer.BREAK_TRIM_END_EDGE_SPACES для получения дополнительной информации.


bool clip_text = false 🔗

  • void set_clip_text(value: bool)

  • bool get_clip_text()

Если true, текст, который слишком велик для кнопки, обрезается по горизонтали. Если false, кнопка всегда будет достаточно широкой, чтобы вместить текст. Текст не обрезается по вертикали, и высота кнопки не зависит от этого свойства.


bool expand_icon = false 🔗

  • void set_expand_icon(value: bool)

  • bool is_expand_icon()

При включении значок кнопки будет расширяться/уменьшаться, чтобы соответствовать размеру кнопки, сохраняя при этом ее аспект. См. также icon_max_width.


bool flat = false 🔗

  • void set_flat(value: bool)

  • bool is_flat()

На плоских кнопках не отображается оформление.


Texture2D icon 🔗

Значок кнопки, если текст присутствует, значок будет помещен перед текстом.

Чтобы изменить поле и интервал значка, используйте свойство темы h_separation и свойства content_margin_* используемых StyleBoxes.


HorizontalAlignment icon_alignment = 0 🔗

Указывает, должен ли значок быть выровнен горизонтально по левому, правому или центру кнопки. Использует те же константы HorizontalAlignment, что и выравнивание текста. Если центрировать по горизонтали и вертикали, текст будет отрисован поверх значка.


String language = "" 🔗

Код языка, используемый алгоритмами переноса строк и форматирования текста. Если оставить поле пустым, будет использоваться текущая локаль.


String text = "" 🔗

Текст кнопки, который будет отображаться внутри области кнопки.


TextDirection text_direction = 0 🔗

Направление написания базового текста.


OverrunBehavior text_overrun_behavior = 0 🔗

Устанавливает поведение обрезки, когда текст выходит за пределы ограничивающего прямоугольника узла.


VerticalAlignment vertical_icon_alignment = 1 🔗

Указывает, должен ли значок быть выровнен вертикально по верху, низу или центру кнопки. Использует те же константы VerticalAlignment, что и выравнивание текста. Если центрировать по горизонтали и вертикали, текст будет отрисован поверх значка.


Описания свойств темы

Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗

Текст по умолчанию Color Button.


Color font_disabled_color = Color(0.875, 0.875, 0.875, 0.5) 🔗

Текст Color используется, когда Button отключена.


Color font_focus_color = Color(0.95, 0.95, 0.95, 1) 🔗

Текст Color, используемый, когда Button находится в фокусе. Заменяет только обычный цвет текста кнопки. Отключенные, наведенные и нажатые состояния имеют приоритет над этим цветом.


Color font_hover_color = Color(0.95, 0.95, 0.95, 1) 🔗

Текст Color, используемый при наведении курсора на Button.


Color font_hover_pressed_color = Color(1, 1, 1, 1) 🔗

Color текста, используемый при наведении и нажатии Button.


Color font_outline_color = Color(0, 0, 0, 1) 🔗

Оттенок контура текста Button.


Color font_pressed_color = Color(1, 1, 1, 1) 🔗

Текст Цвет, используемый при нажатии Кнопки.


Color icon_disabled_color = Color(1, 1, 1, 0.4) 🔗

Значок модуляции Цвета используется, когда Кнопка отключена.


Color icon_focus_color = Color(1, 1, 1, 1) 🔗

Значок modulate Color используется, когда Button находится в фокусе. Заменяет только обычный цвет modulate кнопки. Отключенные, наведенные и нажатые состояния имеют приоритет над этим цветом.


Color icon_hover_color = Color(1, 1, 1, 1) 🔗

Значок модуляции Color, используемый при наведении курсора на Button.


Color icon_hover_pressed_color = Color(1, 1, 1, 1) 🔗

Значок модуляции Color, используемый при наведении и нажатии Button.


Color icon_normal_color = Color(1, 1, 1, 1) 🔗

Значок по умолчанию модулирует Color Button.


Color icon_pressed_color = Color(1, 1, 1, 1) 🔗

Модуляция иконки Color, используемый при нажатии Button.


int align_to_largest_stylebox = 0 🔗

Эта константа действует как логическое значение. Если true, минимальный размер кнопки и выравнивание текста/значка всегда основаны на самых больших полях stylebox, в противном случае они основаны на полях stylebox текущего состояния кнопки.


int h_separation = 4 🔗

Горизонтальное пространство между значком Button и текстом. Отрицательные значения будут рассматриваться как 0 при использовании.


int icon_max_width = 0 🔗

Максимально допустимая ширина значка Button. Это ограничение применяется поверх размера значка по умолчанию или его расширенного размера, если expand_icon равно true. Высота регулируется в соответствии с соотношением значка. Если у кнопки есть дополнительные значки (например, CheckBox), они также будут ограничены.


int line_spacing = 0 🔗

Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.


int outline_size = 0 🔗

Размер контура текста.

Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.


Font font 🔗

Font текста Button.


int font_size 🔗

Размер шрифта текста Button.


Texture2D icon 🔗

Значок по умолчанию для Button. Появляется только если icon не назначен.


StyleBox disabled 🔗

StyleBox используется, когда Button отключена.


StyleBox disabled_mirrored 🔗

StyleBox используется, когда Button отключена (для макетов текста справа налево).


StyleBox focus 🔗

StyleBox используется, когда Button находится в фокусе. Theme_item focus StyleBox отображается над базовым StyleBox, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox, представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.


StyleBox hover 🔗

StyleBox используется при наведении курсора на Button.


StyleBox hover_mirrored 🔗

StyleBox используется при наведении курсора на Button (для макетов с направлением справа налево).


StyleBox hover_pressed 🔗

StyleBox используется, когда Button нажата и одновременно находится под курсором.


StyleBox hover_pressed_mirrored 🔗

StyleBox используется при одновременном нажатии и наведении курсора на Кнопка (для макетов с направлением справа налево).


StyleBox normal 🔗

StyleBox по умолчанию для Кнопки.


StyleBox normal_mirrored 🔗

StyleBox по умолчанию для Button (для макетов справа налево).


StyleBox pressed 🔗

StyleBox используется при нажатии Button.


StyleBox pressed_mirrored 🔗

StyleBox используется при нажатии Button (для макетов с направлением справа налево).