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.

OptionButton

Inherits: Button < BaseButton < Control < CanvasItem < Node < Object

A button that brings up a dropdown with selectable options when pressed.

描述

OptionButton is a type of button that brings up a dropdown with selectable items when pressed. The item selected becomes the "current" item and is displayed as the button text.

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

Note: The ID values used for items are limited to 32 bits, not full 64 bits of int. This has a range of -2^32 to 2^32 - 1, i.e. -2147483648 to 2147483647.

Note: The Button.text and Button.icon properties are set automatically based on the selected item. They shouldn't be changed manually.

属性

ActionMode

action_mode

0 (overrides BaseButton)

HorizontalAlignment

alignment

0 (overrides Button)

bool

allow_reselect

false

bool

fit_to_longest_item

true

int

item_count

0

int

selected

-1

bool

toggle_mode

true (overrides BaseButton)

Methods

void

add_icon_item ( Texture2D texture, String label, int id=-1 )

void

add_item ( String label, int id=-1 )

void

add_separator ( String text="" )

void

clear ( )

Texture2D

get_item_icon ( int idx ) const

int

get_item_id ( int idx ) const

int

get_item_index ( int id ) const

Variant

get_item_metadata ( int idx ) const

String

get_item_text ( int idx ) const

String

get_item_tooltip ( int idx ) const

PopupMenu

get_popup ( ) const

int

get_selectable_item ( bool from_last=false ) const

int

get_selected_id ( ) const

Variant

get_selected_metadata ( ) const

bool

has_selectable_items ( ) const

bool

is_item_disabled ( int idx ) const

bool

is_item_separator ( int idx ) const

void

remove_item ( int idx )

void

select ( int idx )

void

set_disable_shortcuts ( bool disabled )

void

set_item_disabled ( int idx, bool disabled )

void

set_item_icon ( int idx, Texture2D texture )

void

set_item_id ( int idx, int id )

void

set_item_metadata ( int idx, Variant metadata )

void

set_item_text ( int idx, String text )

void

set_item_tooltip ( int idx, String tooltip )

void

show_popup ( )

Theme Properties

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(1, 1, 1, 1)

Color

font_pressed_color

Color(1, 1, 1, 1)

int

arrow_margin

4

int

h_separation

4

int

modulate_arrow

0

int

outline_size

0

Font

font

int

font_size

Texture2D

arrow

StyleBox

disabled

StyleBox

disabled_mirrored

StyleBox

focus

StyleBox

hover

StyleBox

hover_mirrored

StyleBox

normal

StyleBox

normal_mirrored

StyleBox

pressed

StyleBox

pressed_mirrored


信号

item_focused ( int index )

Emitted when the user navigates to an item using the ProjectSettings.input/ui_up or ProjectSettings.input/ui_down input actions. The index of the item selected is passed as argument.


item_selected ( int index )

Emitted when the current item has been changed by the user. The index of the item selected is passed as argument.

allow_reselect must be enabled to reselect an item.


Property Descriptions

bool allow_reselect = false

  • void set_allow_reselect ( bool value )

  • bool get_allow_reselect ( )

If true, the currently selected item can be selected again.


bool fit_to_longest_item = true

  • void set_fit_to_longest_item ( bool value )

  • bool is_fit_to_longest_item ( )