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.

Button

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

Успадковано від: CheckBox, CheckButton, ColorPickerButton, MenuButton, OptionButton

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

Опис

Button is the standard themed button. It can contain text and an icon, and it will display them according to the current Theme.

Example: Create a button and connect a method that will be called when the button is pressed:

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

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

See also BaseButton which contains common properties and methods associated with this node.

Note: Buttons support multitouch via touch input, allowing multiple buttons to be pressed at the same time. Otherwise, mouse input is used, limiting interaction to one button press at a time.

Посібники

Властивості

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 🔗

  • 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 для отримання додаткової інформації.


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 🔗

  • void set_button_icon(value: Texture2D)

  • Texture2D get_button_icon()

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

Щоб редагувати поля та інтервали піктограми, використовуйте властивість теми h_separation і властивості content_margin_* використовуваних елементів StyleBox.


HorizontalAlignment icon_alignment = 0 🔗

Визначає, чи піктограма має бути вирівняна горизонтально ліворуч, праворуч чи по центру кнопки. Використовує ті самі константи HorizontalAlignment, що й вирівнювання тексту. Якщо відцентрувати горизонтально та вертикально, текст буде намальовано поверх значка.


String language = "" 🔗

  • void set_language(value: String)

  • String get_language()

Код мови, що використовується для алгоритмів розриву рядків та формування тексту. Якщо залишити поле порожнім, використовується поточна локалізація.


String text = "" 🔗

  • void set_text(value: String)

  • String get_text()

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


TextDirection text_direction = 0 🔗

Основний напрямок написання тексту.


OverrunBehavior text_overrun_behavior = 0 🔗

  • void set_text_overrun_behavior(value: OverrunBehavior)

  • OverrunBehavior get_text_overrun_behavior()

Встановлює поведінку відсікання, коли текст виходить за межі прямокутника, що обмежує вузол.


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 тексту, який використовується при натиску Button.


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

Color модуляції іконки, що використовується, коли Button вимкнена.


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

Color модуляції іконки, що використовується, коли Button у фокусі. Замінює лише звичайний модульований колір кнопки. Вимкнений, наведений та натиснутий стани мають пріоритет над цим кольором.


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, мінімальний розмір кнопки та вирівнювання тексту/піктограми завжди базується на найбільших полях поля стилю, інакше він базується на полях поля стилю поточного стану кнопки.


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 у фокусі. 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 використовується, коли Button натиснута та наведена одночасно (для макетів справа наліво).


StyleBox normal 🔗

Типове StyleBox для Button.


StyleBox normal_mirrored 🔗

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


StyleBox pressed 🔗

StyleBox використовується, коли натискається Button.


StyleBox pressed_mirrored 🔗

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