Files
godot-docs-l10n/classes/ru/class_basebutton.rst

472 lines
24 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_BaseButton:
BaseButton
==========
**Наследует:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Наследуется от:** :ref:`Button<class_Button>`, :ref:`LinkButton<class_LinkButton>`, :ref:`TextureButton<class_TextureButton>`
Абстрактный базовый класс для кнопок графического интерфейса.
.. rst-class:: classref-introduction-group
Описание
----------------
**BaseButton** — абстрактный базовый класс для кнопок GUI. Сам по себе он ничего не отображает.
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`ActionMode<enum_BaseButton_ActionMode>` | :ref:`action_mode<class_BaseButton_property_action_mode>` | ``1`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`ButtonGroup<class_ButtonGroup>` | :ref:`button_group<class_BaseButton_property_button_group>` | |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| |bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\] | :ref:`button_mask<class_BaseButton_property_button_mask>` | ``1`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`button_pressed<class_BaseButton_property_button_pressed>` | ``false`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`disabled<class_BaseButton_property_disabled>` | ``false`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`keep_pressed_outside<class_BaseButton_property_keep_pressed_outside>` | ``false`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`Shortcut<class_Shortcut>` | :ref:`shortcut<class_BaseButton_property_shortcut>` | |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`shortcut_feedback<class_BaseButton_property_shortcut_feedback>` | ``true`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`shortcut_in_tooltip<class_BaseButton_property_shortcut_in_tooltip>` | ``true`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` | ``false`` |
+-------------------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_pressed<class_BaseButton_private_method__pressed>`\ (\ ) |virtual| |
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_toggled<class_BaseButton_private_method__toggled>`\ (\ toggled_on\: :ref:`bool<class_bool>`\ ) |virtual| |
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
| :ref:`DrawMode<enum_BaseButton_DrawMode>` | :ref:`get_draw_mode<class_BaseButton_method_get_draw_mode>`\ (\ ) |const| |
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_hovered<class_BaseButton_method_is_hovered>`\ (\ ) |const| |
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_pressed_no_signal<class_BaseButton_method_set_pressed_no_signal>`\ (\ pressed\: :ref:`bool<class_bool>`\ ) |
+-------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_BaseButton_signal_button_down:
.. rst-class:: classref-signal
**button_down**\ (\ ) :ref:`🔗<class_BaseButton_signal_button_down>`
Издается при нажатии кнопки.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_signal_button_up:
.. rst-class:: classref-signal
**button_up**\ (\ ) :ref:`🔗<class_BaseButton_signal_button_up>`
Издается, когда кнопка перестает удерживаться.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_signal_pressed:
.. rst-class:: classref-signal
**pressed**\ (\ ) :ref:`🔗<class_BaseButton_signal_pressed>`
Выдается, когда кнопка переключается или нажимается. Это происходит при :ref:`button_down<class_BaseButton_signal_button_down>`, если :ref:`action_mode<class_BaseButton_property_action_mode>` равно :ref:`ACTION_MODE_BUTTON_PRESS<class_BaseButton_constant_ACTION_MODE_BUTTON_PRESS>`, и при :ref:`button_up<class_BaseButton_signal_button_up>` в противном случае.
Если вам нужно узнать нажатое состояние кнопки (и :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` активен), используйте вместо этого :ref:`toggled<class_BaseButton_signal_toggled>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_signal_toggled:
.. rst-class:: classref-signal
**toggled**\ (\ toggled_on\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BaseButton_signal_toggled>`
Выдается, когда кнопка была просто переключена между нажатым и нормальным состояниями (только если :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` активен). Новое состояние содержится в аргументе ``toggled_on``.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_BaseButton_DrawMode:
.. rst-class:: classref-enumeration
enum **DrawMode**: :ref:`🔗<enum_BaseButton_DrawMode>`
.. _class_BaseButton_constant_DRAW_NORMAL:
.. rst-class:: classref-enumeration-constant
:ref:`DrawMode<enum_BaseButton_DrawMode>` **DRAW_NORMAL** = ``0``
Нормальное состояние кнопок (т. е. не нажато, не наведено, не переключено и не включено).
.. _class_BaseButton_constant_DRAW_PRESSED:
.. rst-class:: classref-enumeration-constant
:ref:`DrawMode<enum_BaseButton_DrawMode>` **DRAW_PRESSED** = ``1``
Состояние кнопок нажато.
.. _class_BaseButton_constant_DRAW_HOVER:
.. rst-class:: classref-enumeration-constant
:ref:`DrawMode<enum_BaseButton_DrawMode>` **DRAW_HOVER** = ``2``
Состояние кнопок наведено.
.. _class_BaseButton_constant_DRAW_DISABLED:
.. rst-class:: classref-enumeration-constant
:ref:`DrawMode<enum_BaseButton_DrawMode>` **DRAW_DISABLED** = ``3``
Состояние кнопок — отключено.
.. _class_BaseButton_constant_DRAW_HOVER_PRESSED:
.. rst-class:: classref-enumeration-constant
:ref:`DrawMode<enum_BaseButton_DrawMode>` **DRAW_HOVER_PRESSED** = ``4``
Состояние кнопок — наведенное и нажатое.
.. rst-class:: classref-item-separator
----
.. _enum_BaseButton_ActionMode:
.. rst-class:: classref-enumeration
enum **ActionMode**: :ref:`🔗<enum_BaseButton_ActionMode>`
.. _class_BaseButton_constant_ACTION_MODE_BUTTON_PRESS:
.. rst-class:: classref-enumeration-constant
:ref:`ActionMode<enum_BaseButton_ActionMode>` **ACTION_MODE_BUTTON_PRESS** = ``0``
Для того, чтобы кнопка считалась нажатой, достаточно одного нажатия.
.. _class_BaseButton_constant_ACTION_MODE_BUTTON_RELEASE:
.. rst-class:: classref-enumeration-constant
:ref:`ActionMode<enum_BaseButton_ActionMode>` **ACTION_MODE_BUTTON_RELEASE** = ``1``
Требуйте нажатия и последующего отпускания кнопки, прежде чем считать нажатие на нее выполненным.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_BaseButton_property_action_mode:
.. rst-class:: classref-property
:ref:`ActionMode<enum_BaseButton_ActionMode>` **action_mode** = ``1`` :ref:`🔗<class_BaseButton_property_action_mode>`
.. rst-class:: classref-property-setget
- |void| **set_action_mode**\ (\ value\: :ref:`ActionMode<enum_BaseButton_ActionMode>`\ )
- :ref:`ActionMode<enum_BaseButton_ActionMode>` **get_action_mode**\ (\ )
Определяет, когда кнопка считается нажатой.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_button_group:
.. rst-class:: classref-property
:ref:`ButtonGroup<class_ButtonGroup>` **button_group** :ref:`🔗<class_BaseButton_property_button_group>`
.. rst-class:: classref-property-setget
- |void| **set_button_group**\ (\ value\: :ref:`ButtonGroup<class_ButtonGroup>`\ )
- :ref:`ButtonGroup<class_ButtonGroup>` **get_button_group**\ (\ )
:ref:`ButtonGroup<class_ButtonGroup>`, связанная с кнопкой. Не путать с группами узлов.
\ **Примечание:** Кнопка будет настроена как радиокнопка, если ей назначена :ref:`ButtonGroup<class_ButtonGroup>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_button_mask:
.. rst-class:: classref-property
|bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\] **button_mask** = ``1`` :ref:`🔗<class_BaseButton_property_button_mask>`
.. rst-class:: classref-property-setget
- |void| **set_button_mask**\ (\ value\: |bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\]\ )
- |bitfield|\[:ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>`\] **get_button_mask**\ (\ )
Двоичная маска для выбора кнопок мыши, на которые будет реагировать эта кнопка.
Чтобы разрешить как левый, так и правый щелчок, используйте ``MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT``.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_button_pressed:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **button_pressed** = ``false`` :ref:`🔗<class_BaseButton_property_button_pressed>`
.. rst-class:: classref-property-setget
- |void| **set_pressed**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_pressed**\ (\ )
Если ``true``, состояние кнопки нажато. Означает, что кнопка нажата или переключена (если :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` активен). Работает только если :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` равен ``true``.
\ **Примечание:** Изменение значения :ref:`button_pressed<class_BaseButton_property_button_pressed>` приведет к отправке :ref:`toggled<class_BaseButton_signal_toggled>`. Если вы хотите изменить состояние нажатия без отправки этого сигнала, используйте :ref:`set_pressed_no_signal()<class_BaseButton_method_set_pressed_no_signal>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_disabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **disabled** = ``false`` :ref:`🔗<class_BaseButton_property_disabled>`
.. rst-class:: classref-property-setget
- |void| **set_disabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_disabled**\ (\ )
Если ``true``, кнопка находится в неактивном состоянии и не может быть нажата или переключена.
\ **Примечание:** Если кнопка неактивна при нажатии, будет подан сигнал :ref:`button_up<class_BaseButton_signal_button_up>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_keep_pressed_outside:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **keep_pressed_outside** = ``false`` :ref:`🔗<class_BaseButton_property_keep_pressed_outside>`
.. rst-class:: classref-property-setget
- |void| **set_keep_pressed_outside**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_keep_pressed_outside**\ (\ )
Если ``true``, кнопка остается нажатой при перемещении курсора за пределы кнопки во время нажатия на нее.
\ **Примечание:** Это свойство влияет только на внешний вид кнопки. Сигналы будут выдаваться в тот же момент, независимо от значения этого свойства.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_shortcut:
.. rst-class:: classref-property
:ref:`Shortcut<class_Shortcut>` **shortcut** :ref:`🔗<class_BaseButton_property_shortcut>`
.. rst-class:: classref-property-setget
- |void| **set_shortcut**\ (\ value\: :ref:`Shortcut<class_Shortcut>`\ )
- :ref:`Shortcut<class_Shortcut>` **get_shortcut**\ (\ )
``Ярлык (Shortcut)``, связанный с кнопкой.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_shortcut_feedback:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **shortcut_feedback** = ``true`` :ref:`🔗<class_BaseButton_property_shortcut_feedback>`
.. rst-class:: classref-property-setget
- |void| **set_shortcut_feedback**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_shortcut_feedback**\ (\ )
Если ``true``, кнопка будет подсвечена на короткое время, когда ее ярлык активирован. Если ``false`` и :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` равен ``false``, ярлык активируется без какой-либо визуальной обратной связи.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_shortcut_in_tooltip:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **shortcut_in_tooltip** = ``true`` :ref:`🔗<class_BaseButton_property_shortcut_in_tooltip>`
.. rst-class:: classref-property-setget
- |void| **set_shortcut_in_tooltip**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_shortcut_in_tooltip_enabled**\ (\ )
Если ``true``, кнопка добавит информацию о своем сочетании клавиш в подсказку.
\ **Примечание:** Это свойство ничего не делает, когда элемент управления подсказкой настраивается с помощью :ref:`Control._make_custom_tooltip()<class_Control_private_method__make_custom_tooltip>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_property_toggle_mode:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **toggle_mode** = ``false`` :ref:`🔗<class_BaseButton_property_toggle_mode>`
.. rst-class:: classref-property-setget
- |void| **set_toggle_mode**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_toggle_mode**\ (\ )
Если ``true``, кнопка находится в режиме переключения. Заставляет кнопку переключать состояние между нажатым и ненажатым каждый раз, когда нажимается ее область.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_BaseButton_private_method__pressed:
.. rst-class:: classref-method
|void| **_pressed**\ (\ ) |virtual| :ref:`🔗<class_BaseButton_private_method__pressed>`
Вызывается при нажатии кнопки. Если вам нужно узнать нажатое состояние кнопки (и :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` активен), используйте вместо этого :ref:`_toggled()<class_BaseButton_private_method__toggled>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_private_method__toggled:
.. rst-class:: classref-method
|void| **_toggled**\ (\ toggled_on\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_BaseButton_private_method__toggled>`
Вызывается при переключении кнопки (только если активен :ref:`toggle_mode<class_BaseButton_property_toggle_mode>`).
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_method_get_draw_mode:
.. rst-class:: classref-method
:ref:`DrawMode<enum_BaseButton_DrawMode>` **get_draw_mode**\ (\ ) |const| :ref:`🔗<class_BaseButton_method_get_draw_mode>`
Возвращает визуальное состояние, используемое для отрисовки кнопки. Это полезно в основном при реализации собственного кода отрисовки путем переопределения _draw() или подключения к сигналу "draw". Визуальное состояние кнопки определяется перечислением :ref:`DrawMode<enum_BaseButton_DrawMode>`.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_method_is_hovered:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_hovered**\ (\ ) |const| :ref:`🔗<class_BaseButton_method_is_hovered>`
Возвращает ``true``, если мышь вошла в кнопку и еще не покинула ее.
.. rst-class:: classref-item-separator
----
.. _class_BaseButton_method_set_pressed_no_signal:
.. rst-class:: classref-method
|void| **set_pressed_no_signal**\ (\ pressed\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BaseButton_method_set_pressed_no_signal>`
Изменяет состояние :ref:`button_pressed<class_BaseButton_property_button_pressed>` кнопки, не выдавая :ref:`toggled<class_BaseButton_signal_toggled>`. Используйте, когда вы просто хотите изменить состояние кнопки, не отправляя событие нажатия (например, при инициализации сцены). Работает только если :ref:`toggle_mode<class_BaseButton_property_toggle_mode>` равно ``true``.
\ **Примечание:** Этот метод не отжимает другие кнопки в :ref:`button_group<class_BaseButton_property_button_group>`.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`