SplitContainer
Наследует: Container < Control < CanvasItem < Node < Object
Наследуется от: HSplitContainer, VSplitContainer
Контейнер, который разбивает два дочерних элемента по горизонтали или вертикали и предоставляет захват для настройки отношения разделения.
Описание
Контейнер, который принимает только два дочерних элемента управления, затем размещает их горизонтально или вертикально и создает разделитель между ними. Разделитель можно перетаскивать, чтобы изменить соотношение размеров дочерних элементов управления.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
void |
|
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
Сигналы
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()
Определяет видимость перетаскивателя. Это свойство не определяет, включено ли перетаскивание или нет. Для этого используйте dragging_enabled.
bool dragging_enabled = true 🔗
Включает или отключает раздельное перетаскивание.
Начальное смещение разделения между двумя Control, при этом 0 находится в конце первого Control.
bool touch_dragger_enabled = false 🔗
Если true, сенсорный манипулятор перетаскивания будет включен для лучшего использования на экранах меньшего размера. В отличие от стандартного захвата, этот манипулятор перекрывает дочерние элементы SplitContainer и не влияет на их минимальное разделение. Стандартный захват больше не будет отображаться, если эта опция включена.
Если true, SplitContainer расположит свои дочерние элементы вертикально, а не горизонтально.
Нельзя изменить при использовании HSplitContainer и VSplitContainer.
Описания метода
void clamp_split_offset() 🔗
Ограничивает значение split_offset, чтобы оно не выходило за пределы текущих возможных минимальных и максимальных значений.
Control get_drag_area_control() 🔗
Возвращает область перетаскивания Control. Например, вы можете переместить предварительно настроенную кнопку в область перетаскивания Control, чтобы она перемещалась вместе с разделительной полосой. Попробуйте установить якоря Button на center до вызова reparent().
$BarnacleButton.reparent($SplitContainer.get_drag_area_control())
Примечание: Область перетаскивания Control рисуется поверх дочерних элементов SplitContainer, поэтому объекты рисования CanvasItem, вызываемые из Control, и дочерние элементы, добавленные в Control, также будут отображаться поверх дочерних элементов SplitContainer. Попробуйте установить Control.mouse_filter пользовательских дочерних элементов на Control.MOUSE_FILTER_IGNORE, чтобы предотвратить блокировку мыши при перетаскивании, если это необходимо.
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение может привести к сбою.
Описания свойств темы
Color touch_dragger_color = Color(1, 1, 1, 0.3) 🔗
Цвет сенсорного перетаскивателя.
Color touch_dragger_hover_color = Color(1, 1, 1, 0.6) 🔗
Цвет сенсорного ползунка при наведении курсора.
Color touch_dragger_pressed_color = Color(1, 1, 1, 1) 🔗
Цвет сенсорного ползунка при нажатии.
Логическое значение. Если 1 (true), захватчик будет автоматически скрываться, когда он не находится под курсором. Если 0 (false), он всегда виден. Member dragger_visibility должен быть DRAGGER_VISIBLE.
int minimum_grab_thickness = 6 🔗
Минимальная толщина области, на которую пользователи могут нажать, чтобы захватить разделительную полосу. Это гарантирует, что разделительную полосу все еще можно перетаскивать, если размер Separate или h_grabber / v_grabber слишком узкий для легкого выбора.
Толщина разделительной полосы, т. е. зазор между двумя дочерними элементами контейнера. Это переопределяется размером значка граббера, если dragger_visibility установлен на DRAGGER_VISIBLE или DRAGGER_HIDDEN, а Separate меньше размера значка граббера на той же оси.
Примечание: Чтобы получить значения Separate меньше размера значка граббера, например, 1 px hairline, установите h_grabber или v_grabber на новый ImageTexture, который фактически устанавливает размер значка граббера на 0 px.
Значок, используемый для граббера (перетаскивателя), нарисованного в средней области. Используется только в HSplitContainer и VSplitContainer. Для SplitContainer см. h_grabber и v_grabber.
Значок, используемый для захвата, нарисованного в средней области, когда vertical имеет значение false.
Значок, используемый для маркера перетаскивания, когда touch_dragger_enabled имеет значение true, а vertical имеет значение false.
Значок, используемый для ручки перетаскивания, когда touch_dragger_enabled равен true. Используется только в HSplitContainer и VSplitContainer. Для SplitContainer см. h_touch_dragger и v_touch_dragger.
Значок, используемый для захвата, нарисованного в средней области, когда vertical имеет значение true.
Значок, используемый для маркера перетаскивания, когда touch_dragger_enabled имеет значение true и vertical имеет значение true.
StyleBox split_bar_background 🔗
Определяет фон разделенной полосы, если ее толщина больше нуля.