OptionButton¶
继承: Button < BaseButton < Control < Item < Object
按下时弹出带有可选选项的下拉菜单的按钮。
描述¶
OptionButton是一种按钮,按下时会弹出带有可选择项目的下拉列表。选择的项目成为“当前”项目并显示为按钮文本。
另请参阅BaseButton,其中包含与此节点关联的常用属性和方法。
注意:用于项目的ID值限制为32位,而不是完整的64位int。这具有-2^32到2^32-1的范围,即-2147483648到2147483647。
注意:Button.text和Button.icon属性是根据所选项目自动设置的。它们不应手动更改。
属性¶
action_mode |
|
|
alignment |
|
|
|
||
|
||
|
||
|
||
toggle_mode |
|
方法¶
void |
add_icon_item(texture: Texture2D, label: String, id: int = -1) |
void |
|
void |
add_separator(text: String = "") |
void |
clear() |
get_item_icon(idx: int) const |
|
get_item_id(idx: int) const |
|
get_item_index(id: int) const |
|
get_item_metadata(idx: int) const |
|
get_item_text(idx: int) const |
|
get_item_tooltip(idx: int) const |
|
get_popup() const |
|
get_selectable_item(from_last: bool = false) const |
|
get_selected_id() const |
|
get_selected_metadata() const |
|
has_selectable_items() const |
|
is_item_disabled(idx: int) const |
|
is_item_separator(idx: int) const |
|
void |
remove_item(idx: int) |
void |
|
void |
set_disable_shortcuts(disabled: bool) |
void |
set_item_disabled(idx: int, disabled: bool) |
void |
set_item_icon(idx: int, texture: Texture2D) |
void |
set_item_id(idx: int, id: int) |
void |
set_item_metadata(idx: int, metadata: Variant) |
void |
set_item_text(idx: int, text: String) |
void |
set_item_tooltip(idx: int, tooltip: String) |
void |
主题属性¶
信号¶
当用户使用ProjectSettings.input/ui_up或ProjectSettings.input/ui_down输入操作导航到项目时发出。所选项目的索引作为参数传递。
当用户更改当前项目时发出。所选项目的索引作为参数传递。
必须启用allow_reselect才能重新选择项目。
属性说明¶
如果true,则可以再次选择当前选择的项目。
bool fit_to_longest_item = true 🔗
如果true,则最小大小将由最长项目的文本决定,而不是当前选定的文本。
注意:出于性能原因,添加、删除或修改项目时,最小大小不会立即更新。
要选择的项目数。
int get_selected()
当前选定项目的索引,如果未选择项目,则为-1。
方法说明¶
void add_icon_item(texture: Texture2D, label: String, id: int = -1) 🔗
添加一个项目,带有texture图标、文本label和(可选)id。如果没有传递id,项目索引将用作项目的ID。新项目附加在最后。
void add_item(label: String, id: int = -1) 🔗
添加一个项目,带有文本label和(可选)id。如果没有传递id,项目索引将用作项目的ID。新项目附加在最后。
void add_separator(text: String = "") 🔗
将分隔符添加到项目列表中。分隔符有助于对项目进行分组,并且可以选择给定text标头。分隔符还分配了一个索引,并附加在项目列表的末尾。
void clear() 🔗
清除OptionButton中的所有项目。
Texture2D get_item_icon(idx: int) const 🔗
返回索引idx处项目的图标。
int get_item_id(idx: int) const 🔗
返回indexidx处项目的ID。
int get_item_index(id: int) const 🔗
返回具有给定id的项的索引。
Variant get_item_metadata(idx: int) const 🔗
检索项目的元数据。元数据可以是任何类型,可用于存储项目的额外信息,例如外部字符串ID。
String get_item_text(idx: int) const 🔗
返回索引idx处项目的文本。
String get_item_tooltip(idx: int) const 🔗
返回indexidx处项目的工具提示。
返回此按钮中包含的PopupMenu。
警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或它的任何子节点,请使用它们的Window.visible属性。
int get_selectable_item(from_last: bool = false) const 🔗
返回第一个未禁用或标记为分隔符的项目的索引。如果from_last为true,则将按相反的顺序搜索这些项目。
如果未找到项目,则返回-1。
返回所选项目的ID,如果未选择项目,则返回-1。
Variant get_selected_metadata() const 🔗
获取选定项目的元数据。可以使用set_item_metadata()设置项目的元数据。
bool has_selectable_items() const 🔗
如果此按钮包含至少一个未禁用或标记为分隔符的项目,则返回true。
bool is_item_disabled(idx: int) const 🔗
如果索引idx处的项目被禁用,则返回true。
bool is_item_separator(idx: int) const 🔗
如果索引idx处的项目被标记为分隔符,则返回true。
删除indexidx处的项目。
按索引选择一个项目并使其成为当前项目。即使该项目被禁用,这也可以工作。
传递-1作为索引会取消选择任何当前选定的项目。
void set_disable_shortcuts(disabled: bool) 🔗
如果true,则禁用快捷方式并且不能用于触发按钮。
void set_item_disabled(idx: int, disabled: bool) 🔗
设置索引idx处的项目是否被禁用。
禁用项目在下拉列表中的绘制方式不同,用户无法选择。如果当前选定的项目设置为禁用,它将保持选中状态。
void set_item_icon(idx: int, texture: Texture2D) 🔗
在indexidx处设置项目的图标。
void set_item_id(idx: int, id: int) 🔗
在indexidx处设置项目的ID。
void set_item_metadata(idx: int, metadata: Variant) 🔗
设置项目的元数据。元数据可以是任何类型,可用于存储项目的额外信息,例如外部字符串ID。
void set_item_text(idx: int, text: String) 🔗
在indexidx处设置项目的文本。
void set_item_tooltip(idx: int, tooltip: String) 🔗
在indexidx处设置项目的工具提示。
void show_popup() 🔗
调整OptionButton的弹出位置和大小,然后显示PopupMenu。与使用get_popup(). popup()相比,更喜欢使用此选项。
主题属性说明¶
箭头图标和按钮右边缘之间的水平空间。
如果不同于0,箭头图标将被调制为字体颜色。
要绘制在按钮右端的箭头图标。