ScrollContainer
Inherits: Container < Control < CanvasItem < Node < Object
Inherited By: EditorInspector
用于显示可滚动元素(例如列表)的辅助节点。
描述
滚动容器节点,用于包含 Control 子节点。 滚动容器将在需要时自动创建滚动条子项(HScrollBar、VScrollBar 或两者),且仅在滚动容器区域内绘制控件。滚动条将自动绘制在右侧或底部,即垂直或水平,并允许拖动以在滚动容器内移动可视控件及其子项。滚动条还将根据控件相对于滚动容器的 Control.rect_min_size 自动调整抓取器的大小。与 Panel 控件配合使用效果很好。您可以将子项的大小标志设置为 EXPAND
,当滚动容器的大小更大(滚动对于所选维度不可见),它们将放大到滚动容器的大小。
属性
| ||
rect_clip_content |
| |
| ||
| ||
| ||
| ||
|
方法
void | ensure_control_visible ( Control control ) |
get_h_scrollbar ( ) | |
get_v_scrollbar ( ) |
主题属性
信号
- scroll_ended ( )
滚动停止时发出。
- scroll_started ( )
滚动开始时发出。
属性说明
- bool follow_focus
Default |
|
Setter | set_follow_focus(value) |
Getter | is_following_focus() |
如果 true
,则 ScrollContainer 将自动滚动到获得焦点的子项(包括间接子项)以确保它们完全可见。
- int scroll_deadzone
Default |
|
Setter | set_deadzone(value) |
Getter | get_deadzone() |
- int scroll_horizontal
Default |
|
Setter | set_h_scroll(value) |
Getter | get_h_scroll() |
当前水平滚动值。
- bool scroll_horizontal_enabled
Default |
|
Setter | set_enable_h_scroll(value) |
Getter | is_h_scroll_enabled() |
如果 true
,启用水平滚动。
- int scroll_vertical
Default |
|
Setter | set_v_scroll(value) |
Getter | get_v_scroll() |
当前垂直滚动值。
- bool scroll_vertical_enabled
Default |
|
Setter | set_enable_v_scroll(value) |
Getter | is_v_scroll_enabled() |
如果 true
,则启用垂直滚动。
方法说明
- void ensure_control_visible ( Control control )
保证给定的 control
控件可见(必须是 ScrollContainer 的直接或间接子节点)。会被 follow_focus 使用。
注意:在同一帧内刚被加入的节点上无效。如果你希望滚动至新加的子节点,就必须使用 SceneTree.idle_frame 等待至下一帧:
add_child(child_node)
yield(get_tree(), "idle_frame")
ensure_control_visible(child_node)
- HScrollBar get_h_scrollbar ( )
返回此ScrollContainer
的水平滚动条HScrollBar。
警告: 这是一个必须的内部节点,移除和释放它可能会导致崩溃。如果你想禁用水平滚动条,请使用scroll_horizontal_enabled。如果你只想隐藏它,则使用其CanvasItem.visible属性。
- VScrollBar get_v_scrollbar ( )
返回此ScrollContainer
的垂直滚动条VScrollBar。
警告: 这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果你想禁用垂直滚动条,请使用scroll_vertical_enabled。如果你只想隐藏它,则使用其CanvasItem.visible属性。
Theme Property Descriptions
- StyleBox bg
ScrollContainer
的背景 StyleBox。