Fluent-Qt

Collections

SplitView

Hosts resizable panes separated by draggable handles.

Example

SplitView: Resizable panes

Usage

Resizable panes

Drag the handle between the panes to resize them.

#include <FluentQt/Collections.h>
using namespace fluent::collections;

auto* splitView = new SplitView(this);
splitView->addPane(firstPane);
splitView->addPane(secondPane);
splitView->addPane(thirdPane);
splitView->setPanePreferredSize(0, 150);
splitView->setPaneFill(2, true);

fluent::collections::SplitView

Inherits QWidget · FluentElement · QMLPlus

Resizable multi-pane container with Fluent splitter handles.

Constructors

Properties

Qt::Orientation orientation

Primary layout or motion orientation.

Read orientation()Write setOrientation()Notify orientationChanged()
bool resizing

Whether a split handle is actively being dragged.

Read resizing()Notify resizingChanged()
int handleWidth

Interactive width of the split handle.

Read handleWidth()Write setHandleWidth()Notify handleWidthChanged()
int handleVisualThickness

Painted thickness of the split handle indicator.

Read handleVisualThickness()Write setHandleVisualThickness()Notify handleVisualThicknessChanged()
int fillPaneIndex

Pane index that consumes remaining SplitView space.

Read fillPaneIndex()Write setFillPaneIndex()Notify fillPaneIndexChanged()
QSize defaultSizeHint

Fallback pane size hint when a pane does not provide one.

Read defaultSizeHint()Write setDefaultSizeHint()Notify defaultSizeHintChanged()
QSize defaultMinimumSizeHint

Fallback pane minimum size hint.

Read defaultMinimumSizeHint()Write setDefaultMinimumSizeHint()Notify defaultMinimumSizeHintChanged()

Methods

bool removePane(QWidget* pane)

Legacy removal that transfers the pane to the caller.

QWidget* removePaneAt(int index)

Legacy indexed removal that transfers the pane to the caller.

bool releasePane(QWidget* pane)

Removes a pane and applies its configured ownership policy.

bool releasePaneAt(int index)

Removes an indexed pane and applies its ownership policy.

QWidget* takePaneAt(int index)

Removes a pane without deleting it and transfers it to the caller.

WidgetOwnership paneOwnershipAt(int index) const

Returns the configured release policy for a hosted pane.

Qt::Orientation orientation() const

Primary layout or motion orientation.

void setOrientation(Qt::Orientation orientation)

Primary layout or motion orientation.

bool resizing() const

Whether a split handle is actively being dragged.

int handleWidth() const

Interactive width of the split handle.

void setHandleWidth(int width)

Interactive width of the split handle.

int handleVisualThickness() const

Painted thickness of the split handle indicator.

void setHandleVisualThickness(int thickness)

Painted thickness of the split handle indicator.

int fillPaneIndex() const

Pane index that consumes remaining SplitView space.

void setFillPaneIndex(int index)

Pane index that consumes remaining SplitView space.

QSize defaultSizeHint() const

Fallback pane size hint when a pane does not provide one.

void setDefaultSizeHint(const QSize& size)

Fallback pane size hint when a pane does not provide one.

QSize defaultMinimumSizeHint() const

Fallback pane minimum size hint.

Signals

void orientationChanged(Qt::Orientation orientation)

Primary layout or motion orientation.

void resizingChanged(bool resizing)

Whether a split handle is actively being dragged.

void handleWidthChanged(int width)

Interactive width of the split handle.

void handleVisualThicknessChanged(int thickness)

Painted thickness of the split handle indicator.

void fillPaneIndexChanged(int index)

Pane index that consumes remaining SplitView space.

void defaultSizeHintChanged(const QSize& size)

Fallback pane size hint when a pane does not provide one.

Destructors

PySide6 additions

addOwnedPane(pane, options=None)

Append a pane deleted when it leaves the SplitView.

addBorrowedPane(pane, options=None)

Append a pane detached when it leaves the SplitView.

addReparentedPane(pane, options=None)

Append a pane restored to its current QWidget parent.

insertOwnedPane(index, pane, options=None)

Insert a pane deleted when it leaves the SplitView.

insertBorrowedPane(index, pane, options=None)

Insert a pane detached when it leaves the SplitView.

insertReparentedPane(index, pane, options=None)

Insert a pane restored to its current QWidget parent.

Subclass interfaces

Methods

Inherited from fluent::FluentElement

Methods

static void setTheme(Theme theme)

Updates the global theme and notifies active FluentElement instances.

static void setThemeDeferred(Theme theme)

Schedules a visible-first batched theme refresh without blocking the current interaction.

static Theme currentTheme()

Returns the currently active global theme.

static bool themeUsesDarkAppearance(Theme theme)

Returns whether a theme uses dark-backed chrome and material tokens.

static void refreshTheme()

Re-broadcasts the current theme to repaint after a design-token change.

static int themeGeneration()

Monotonic counter bumped on every theme change, for staleness checks.

Theme effectiveTheme() const

Resolves the theme used by this element, honoring an inherited QWidget override.

bool effectiveThemeUsesDarkAppearance() const

Returns whether this element's effective theme uses dark-backed chrome.

QJsonObject themeOverrides() const

Returns this element's authored overrides.

void clearThemeOverrides()

Restores all token fields to global theme defaults.

const Colors& themeColorsRef() const

Non-copying access to the active color set (for hot paint paths).

Material::AcrylicToken themeAcrylic() const

Material, elevation, and adaptive layout tokens.

QColor themeBackdrop(bool active) const

Window-chrome backdrop color for the given activation state.

virtual void onThemeUpdated()

Called after the global theme changes.

Enumerations

enum Theme

Global visual theme used when resolving design tokens.

  • Light = 0
  • Dark = 1
  • HighContrast = 2

Types and aliases

struct Colors

Design token snapshots returned to components.

Inherited from fluent::QMLPlus

Methods

AnchorLayout::Anchors* anchors()

Returns mutable anchors for the QWidget host.

void setState(const QString& name)

Applies a named state, or clears state when name is empty.

void addState(const QMLState& state)

Registers or replaces a named state definition.

void evaluateStates()

Reevaluates conditions; the first registered true condition wins.

QMLPlusRuntime* runtime()

Returns the lazy host-owned state observation object.

void setAnchors(const AnchorLayout::Anchors& anchors)

Replaces all host anchors and invalidates the parent layout.

void resetAnchors()

Clears all host anchors and invalidates the parent layout.

void addTransition(const StateTransition& transition)

Registers a state transition in precedence order.

void setBehavior(const char* propertyName, const PropertyAnimation& animation)

Sets the default animation for this host's managed property writes.

void clearBehavior(const char* propertyName)

Removes the default animation for future managed writes.

bool writeProperty(const char* propertyName, const QVariant& value)

Writes a host property through Behavior without removing its binding.

All inherited Qt members:QWidget

fluent::collections::SplitViewPaneOptions

Fields