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!")
public override void _Ready()
{
var button = new Button();
button.Text = "Click me";
button.Pressed += ButtonPressed;
AddChild(button);
}
private void ButtonPressed()
{
GD.Print("Hello world!");
}
См. также BaseButton, который содержит общие свойства и методы, связанные с этим узлом.
Примечание: Кнопки не обнаруживают сенсорный ввод и, следовательно, не поддерживают мультитач, поскольку эмуляция мыши может нажимать только одну кнопку в определенный момент времени. Используйте TouchScreenButton для кнопок, которые запускают игровое движение или действия.
Обучающие материалы
Свойства
|
||
|
||
BitField[LineBreakFlag] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Описания свойств
HorizontalAlignment alignment = 1 🔗
void set_text_alignment(value: HorizontalAlignment)
HorizontalAlignment get_text_alignment()
Правила выравнивания текста кнопки.
AutowrapMode autowrap_mode = 0 🔗
void set_autowrap_mode(value: AutowrapMode)
AutowrapMode get_autowrap_mode()
Если задано значение, отличное от TextServer.AUTOWRAP_OFF, текст будет заключен внутри ограничивающего прямоугольника узла.
BitField[LineBreakFlag] autowrap_trim_flags = 128 🔗
void set_autowrap_trim_flags(value: BitField[LineBreakFlag])
BitField[LineBreakFlag] get_autowrap_trim_flags()
Флаги обрезки пространства автопереноса. См. TextServer.BREAK_TRIM_START_EDGE_SPACES и TextServer.BREAK_TRIM_END_EDGE_SPACES для получения дополнительной информации.
Если true, текст, который слишком велик для кнопки, обрезается по горизонтали. Если false, кнопка всегда будет достаточно широкой, чтобы вместить текст. Текст не обрезается по вертикали, и высота кнопки не зависит от этого свойства.
При включении значок кнопки будет расширяться/уменьшаться, чтобы соответствовать размеру кнопки, сохраняя при этом ее аспект. См. также icon_max_width.
На плоских кнопках не отображается оформление.
Значок кнопки, если текст присутствует, значок будет помещен перед текстом.
Чтобы изменить поле и интервал значка, используйте свойство темы h_separation и свойства content_margin_* используемых StyleBoxes.
HorizontalAlignment icon_alignment = 0 🔗
void set_icon_alignment(value: HorizontalAlignment)
HorizontalAlignment get_icon_alignment()
Указывает, должен ли значок быть выровнен горизонтально по левому, правому или центру кнопки. Использует те же константы HorizontalAlignment, что и выравнивание текста. Если центрировать по горизонтали и вертикали, текст будет отрисован поверх значка.
Код языка, используемый алгоритмами переноса строк и форматирования текста. Если оставить поле пустым, будет использоваться текущая локаль.
Текст кнопки, который будет отображаться внутри области кнопки.
TextDirection text_direction = 0 🔗
void set_text_direction(value: TextDirection)
TextDirection get_text_direction()
Направление написания базового текста.
OverrunBehavior text_overrun_behavior = 0 🔗
void set_text_overrun_behavior(value: OverrunBehavior)
OverrunBehavior get_text_overrun_behavior()
Устанавливает поведение обрезки, когда текст выходит за пределы ограничивающего прямоугольника узла.
VerticalAlignment vertical_icon_alignment = 1 🔗
void set_vertical_icon_alignment(value: VerticalAlignment)
VerticalAlignment get_vertical_icon_alignment()
Указывает, должен ли значок быть выровнен вертикально по верху, низу или центру кнопки. Использует те же константы 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 текущего состояния кнопки.
Горизонтальное пространство между значком Button и текстом. Отрицательные значения будут рассматриваться как 0 при использовании.
Максимально допустимая ширина значка Button. Это ограничение применяется поверх размера значка по умолчанию или его расширенного размера, если expand_icon равно true. Высота регулируется в соответствии с соотношением значка. Если у кнопки есть дополнительные значки (например, CheckBox), они также будут ограничены.
Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.
Размер контура текста.
Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.
Font текста Button.
Размер шрифта текста Button.
Значок по умолчанию для Button. Появляется только если icon не назначен.
StyleBox используется, когда Button отключена.
StyleBox используется, когда Button отключена (для макетов текста справа налево).
StyleBox используется, когда Button находится в фокусе. Theme_item focus StyleBox отображается над базовым StyleBox, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox, представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.
StyleBox используется при наведении курсора на Button.
StyleBox используется при наведении курсора на Button (для макетов с направлением справа налево).
StyleBox используется, когда Button нажата и одновременно находится под курсором.
StyleBox hover_pressed_mirrored 🔗
StyleBox используется при одновременном нажатии и наведении курсора на Кнопка (для макетов с направлением справа налево).
StyleBox по умолчанию для Кнопки.
StyleBox по умолчанию для Button (для макетов справа налево).
StyleBox используется при нажатии Button.
StyleBox используется при нажатии Button (для макетов с направлением справа налево).