SplitContainer¶
继承: Container < Control < Item < Object
派生: HSplitContainer, VSplitContainer
水平或垂直拆分两个子控件的容器,并提供用于调整拆分比例的抓取器。
描述¶
只接受两个子控件的容器,然后水平或垂直排列它们并在它们之间创建除数。可以拖动除数来更改子控件之间的大小关系。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
主题属性¶
信号¶
drag_ended() 🔗
当用户结束拖动时发出。
drag_started() 🔗
当用户开始拖动时发出。
当用户拖动拖动器时发出。
枚举¶
enum DraggerVisibility: 🔗
DraggerVisibility DRAGGER_VISIBLE = 0
当autohide为false时,拆分拖动器图标始终可见,否则仅在光标悬停时可见。
抓取图标的大小决定最小separation。
如果抓取器图标的长度长于分割条,则拖动器图标会自动隐藏。
无论autohide的值如何,拆分拖动图标都永远不可见。
抓取图标的大小决定最小separation。
拆分拖动图标不可见,拆分条折叠为零厚度。
属性说明¶
如果true,拖动器将被禁用,并且子级的大小将被设置为split_offset为0。
bool drag_area_highlight_in_editor = false 🔗
突出显示拖动区域Rect2,以便您在开发过程中看到它的位置。如果dragging_enabled为true,拖动区域为金色,如果false,拖动区域为红色。
int drag_area_margin_begin = 0 🔗
减小容器开头的拖动区域和分割条split_bar_background的大小。
int drag_area_margin_end = 0 🔗
减小拖动区域和容器末端的分割条split_bar_background的大小。
移动容器轴中的拖动区域,以防止拖动区域与子节点的ScrollBar或其他可选Control重叠。
DraggerVisibility dragger_visibility = 0 🔗
void set_dragger_visibility(value: DraggerVisibility)
DraggerVisibility get_dragger_visibility()
确定拖动器的可见性。有关详细信息,请参阅DraggerVisibility。此属性不确定是否启用拖动。为此使用dragging_enabled。
bool dragging_enabled = true 🔗
启用或禁用拆分拖动。
两个Control之间拆分的初始偏移量,0位于第一个Control的末尾。
如果true,SplitContainer将垂直排列其子级,而不是水平排列。
使用HSplitContainer和VSplitContainer时无法更改。
方法说明¶
void clamp_split_offset() 🔗
将split_offset值限制为不超出当前可能的最小值和最大值。
Control get_drag_area_control() 🔗
返回拖动区域 Control。例如,你可以将一个预先配置好的按钮移动到拖动区域 Control 中,以便它随拆分条一起移动。尝试在调用 reparent() 之前将 Button 的锚点设置为 center。
$BarnacleButton.reparent($SplitContainer.get_drag_area_control())
注意:拖动区域Control绘制在SplitContainer的子节点之上,因此如果需要阻止鼠标拖动,请尝试将自定义子节点的Control.mouse_filter设置为 Control.MOUSE_FILTER_IGNORE。 警告:这是一个必需的内部节点,移除或释放它都可能会导致崩溃。
主题属性说明¶
布尔值。如果1(true),抓取器将在它不在光标下时自动隐藏。如果0(false),它总是可见的。dragger_visibility必须是DRAGGER_VISIBLE。
int minimum_grab_thickness = 6 🔗
用户可以点击抓取分割条的区域的最小厚度。这确保了如果separation或h_grabber/v_grabber的尺寸太窄而无法轻松选择,分割条仍然可以被拖动。
分割条厚度,即容器的两个孩子之间的间隙。如果dragger_visibility设置为DRAGGER_VISIBLE或DRAGGER_HIDDEN,并且separation小于同一轴上抓取图标的大小,则这将被抓取图标的大小覆盖。
注意:要获得小于抓取器图标大小的separation值,例如1 px发际线,将h_grabber或v_grabber设置为新的ImageTexture,这有效地将抓取器图标大小设置为0 px。
用于在中间区域绘制的抓取器的图标。
vertical时用于在中间区域绘制的抓取器的图标为false。
vertical时用于在中间区域绘制的抓取器的图标为true。
StyleBox split_bar_background 🔗
如果分割条的厚度大于零,则确定其背景。