OptionButton

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

按下时提供可选选项的按钮控件。

描述

OptionButton 是一种类型按钮,可在按下时提供可选择的项目列表。所选项目成为“当前”项目并显示为按钮文本。

另请参阅 BaseButton,其中包含与此节点关联的通用属性和方法。

属性

ActionMode

action_mode

0 (overrides BaseButton)

TextAlign

align

0 (overrides Button)

int

selected

-1

bool

toggle_mode

true (overrides BaseButton)

方法

void

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

void

add_item ( String label, int id=-1 )

void

add_separator ( )

void

clear ( )

int

get_item_count ( ) const

Texture

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

PopupMenu

get_popup ( ) const

int

get_selected_id ( ) const

Variant

get_selected_metadata ( ) const

bool

is_item_disabled ( int idx ) const

void

remove_item ( int idx )

void

select ( int idx )

void

set_item_disabled ( int idx, bool disabled )

void

set_item_icon ( int idx, Texture 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 )

主题属性

Color

font_color

Color( 0.88, 0.88, 0.88, 1 )

Color

font_color_disabled

Color( 0.9, 0.9, 0.9, 0.2 )

Color

font_color_focus

Color( 0.94, 0.94, 0.94, 1 )

Color

font_color_hover

Color( 0.94, 0.94, 0.94, 1 )

Color

font_color_pressed

Color( 1, 1, 1, 1 )

int

arrow_margin

2

int

hseparation

2

Font

font

Texture

arrow

StyleBox

disabled

StyleBox

focus

StyleBox

hover

StyleBox

normal

StyleBox

pressed

信号

  • item_focused ( int index )

当用户使用 ui_upui_down 操作导航到一个项目时发出。所选项目的索引作为参数传递。


  • item_selected ( int index )

当用户更改当前项时触发。所选项目的索引作为参数传递。

属性说明

Default

-1

Getter

get_selected()

当前选定项的索引,如果没有选定项,则为-1

方法说明

添加一个项,带有texture图标,文本label和(可选的)id。如果没有传入id,该项的索引将被用作其id。新项将被添加至末尾。


添加一个项,带有文本label和(可选的)id。如果没有传入id,该项的索引将被用作其id。新项将被添加至末尾。


  • void add_separator ( )

将分隔符添加到项目列表中。分隔符有助于对项目进行分组。分隔符也占用索引,并被附加在末尾。


  • void clear ( )

清除OptionButton中的所有项目。


  • int get_item_count ( ) const

返回OptionButton中的项目数量,包括分隔符。


返回索引idx处项目的图标。


  • int get_item_id ( int idx ) const

返回索引idx处项目的ID。


  • int get_item_index ( int id ) const

返回带有给定id的项的索引。


检索项的元数据。元数据可以是任何类型,并可用于存储关于项的额外信息,如外部字符串ID。


返回索引idx处项目的文本。


返回这个按钮中包含的 PopupMenu

警告:这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏它或它的任何子节点,请使用其 CanvasItem.visible 属性。


  • int get_selected_id ( ) const

返回所选项目的ID,如果没有选择项目,则返回0


  • Variant get_selected_metadata ( ) const

获取选定项的元数据。可以使用set_item_metadata设置项的元数据。


  • bool is_item_disabled ( int idx ) const

如果索引idx项被禁用,返回true


  • void remove_item ( int idx )

移除索引idx处的项目。


  • void select ( int idx )

按索引选择项并使其为当前选中项。即使该项是禁用的,这也将起作用。


  • void set_item_disabled ( int idx, bool disabled )

设置是否禁用索引idx项。

禁用的项目在下拉列表中绘制的方式不同,用户无法选择。如果当前选定的项目被设置为禁用,它将保持选中状态。


设置在索引idx处项的图标。


  • void set_item_id ( int idx, int id )

设置在索引idx处项的ID。


  • void set_item_metadata ( int idx, Variant metadata )

设置项的元数据。元数据可以是任何类型,可以用来存储关于项目的额外信息,比如外部字符串ID。


在索引idx处设置项的文本。

Theme Property Descriptions

Default

Color( 0.88, 0.88, 0.88, 1 )

OptionButton的默认文本Color


  • Color font_color_disabled

Default

Color( 0.9, 0.9, 0.9, 0.2 )

OptionButton被禁用时使用的文本Color


Default

Color( 0.94, 0.94, 0.94, 1 )

OptionButton获得焦点时使用的文本Color。只替换按钮的正常文本颜色。禁用、悬停和按下状态优先于这个颜色。


Default

Color( 0.94, 0.94, 0.94, 1 )

当鼠标悬停OptionButton时使用的文本Color


  • Color font_color_pressed

Default

Color( 1, 1, 1, 1 )

OptionButton被按下时使用的文本Color


  • int arrow_margin

Default

2

箭头图标和按钮的右边缘之间的水平空间。


  • int hseparation

Default

2

OptionButton图标与文本之间的水平间距。


OptionButton的文本的Font


要绘制在按钮右侧的箭头图标。


OptionButton被禁用时使用的StyleBox


OptionButton被聚焦时使用的StyleBox。它显示在当前的StyleBox上,所以使用StyleBoxEmpty将只是禁用焦点的视觉效果。


OptionButton被鼠标悬停时使用的StyleBox


OptionButton的默认StyleBox


当按下OptionButton时使用的StyleBox