BaseButton
继承: Control
< CanvasItem
< Node
< Object
派生: Button
, LinkButton
, TextureButton
Abstract base class for GUI buttons.
描述
BaseButton is an abstract base class for GUI buttons. It doesn't display anything by itself.
属性
方法
void | _pressed ( ) virtual1 |
void | _toggled ( toggled_on: bool ) virtual1 |
DrawMode | get_draw_mode ( ) const2 |
bool | is_hovered ( ) const2 |
void | set_pressed_no_signal ( pressed: bool ) |
信号
button_down ( )
Emitted when the button starts being held down.
button_up ( )
Emitted when the button stops being held down.
pressed ( )
Emitted when the button is toggled or pressed. This is on button_down
if action_mode
is ACTION_MODE_BUTTON_PRESS
and on button_up
otherwise.
If you need to know the button's pressed state (and toggle_mode
is active), use toggled
instead.
toggled ( toggled_on: bool
)
Emitted when the button was just toggled between pressed and normal states (only if toggle_mode
is active). The new state is contained in the toggled_on
argument.
枚举
enum DrawMode:
DrawMode DRAW_NORMAL = 0
The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
DrawMode DRAW_PRESSED = 1
The state of buttons are pressed.
DrawMode DRAW_HOVER = 2
The state of buttons are hovered.
DrawMode DRAW_DISABLED = 3
The state of buttons are disabled.
DrawMode DRAW_HOVER_PRESSED = 4
The state of buttons are both hovered and pressed.
enum ActionMode:
ActionMode ACTION_MODE_BUTTON_PRESS = 0
Require just a press to consider the button clicked.
ActionMode ACTION_MODE_BUTTON_RELEASE = 1
Require a press and a subsequent release before considering the button clicked.
属性说明
ActionMode action_mode = 1
void
set_action_mode ( value: ActionMode )- ActionMode get_action_mode ( )
Determines when the button is considered clicked, one of the ActionMode constants.
ButtonGroup
button_group
void
set_button_group ( value:ButtonGroup
)ButtonGroup
get_button_group ( )
The ButtonGroup
associated with the button. Not to be confused with node groups.
Note: The button will be configured as a radio button if a ButtonGroup
is assigned to it.
MouseButtonMask button_mask = 1
void
set_button_mask ( value: MouseButtonMask )- MouseButtonMask get_button_mask ( )
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT
.
bool
button_pressed = false
If true
, the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode
is active). Only works if toggle_mode
is true
.
Note: Changing the value of button_pressed
will result in toggled
to be emitted. If you want to change the pressed state without emitting that signal, use set_pressed_no_signal
.
bool
disabled = false
If true
, the button is in disabled state and can't be clicked or toggled.
bool
keep_pressed_outside = false
If true
, the button stays pressed when moving the cursor outside the button while pressing it.
Note: This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
Shortcut
shortcut
Shortcut
associated to the button.
bool
shortcut_feedback = true
If true
, the button will highlight for a short amount of time when its shortcut is activated. If false
and toggle_mode
is false
, the shortcut will activate without any visual feedback.
bool
shortcut_in_tooltip = true
If true
, the button will add information about its shortcut in the tooltip.
Note: This property does nothing when the tooltip control is customized using Control._make_custom_tooltip
.
bool
toggle_mode = false
If true
, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
方法说明
void
_pressed ( ) virtual1
Called when the button is pressed. If you need to know the button's pressed state (and toggle_mode
is active), use _toggled
instead.
void
_toggled ( toggled_on: bool
) virtual1
Called when the button is toggled (only if toggle_mode
is active).
DrawMode get_draw_mode ( ) const2
Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DrawMode enum.
Returns true
if the mouse has entered the button and has not left it yet.
void
set_pressed_no_signal ( pressed: bool
)
Changes the button_pressed
state of the button, without emitting toggled
. Use when you just want to change the state of the button without sending the pressed event (e.g. when initializing scene). Only works if toggle_mode
is true
.
Note: This method doesn't unpress other buttons in button_group
.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。