Fluent-Qt

API 参考

QMLPlus

为 QWidget 组件提供 anchors、属性绑定和简单 state 能力的 mixin。

fluent::AnchorLayout

继承自 QLayout

面向 QWidget 控件的轻量锚点布局。

构造函数

方法

Anchors anchorsForWidget(QWidget* widget) const

返回已注册控件的当前锚点。

bool setWidgetAnchors(QWidget* widget, const Anchors& anchors)

替换已注册控件的锚点,并使布局失效。

枚举

enum class Edge

可锚定的边缘或中心线。

  • None
  • Left
  • Right
  • Top
  • Bottom
  • HCenter
  • VCenter

类型与别名

struct Anchor

描述一个边缘到目标控件边缘的锚定关系。

struct Anchors

单个子控件的完整锚点集合。

析构函数

Qt 基类完整成员:QLayout

fluent::AnchorLayout::Anchor

描述一个边缘到目标控件边缘的锚定关系。

构造函数

字段

fluent::AnchorLayout::Anchors

单个子控件的完整锚点集合。

构造函数

字段

fluent::BindingDependency

计算绑定或状态条件的显式可观察输入。

字段

fluent::BindingOptions

绑定的初始启用状态和可选的事件循环合并更新策略。

字段

fluent::BindingHandle

可复制且不持有所有权的属性绑定控制句柄;绑定由目标对象持有。

构造函数

方法

bool isValid() const

返回绑定及其端点是否仍然有效。

bool isEnabled() const

返回启用状态,不受手动暂停或状态覆盖影响。

bool isSuspended() const

返回绑定是否因手动暂停或活动状态覆盖而挂起。

void setEnabled(bool enabled) const

启用或禁用同步;启用时立即刷新。

void pause() const

保持当前显示值,并保留启用状态。

void resume() const

解除手动暂停,并刷新已启用且未被状态覆盖的绑定。

void refresh() const

立即计算活动绑定,跳过延迟调度。

void unbind() const

永久移除绑定,并保持当前显示值。

fluent::PropertyBinder

通过 Qt 元属性与 NOTIFY 信号提供可管理的属性同步。

方法

枚举

enum Direction

属性绑定方向。

  • OneWay
  • TwoWay

fluent::PropertyChange

QMLPlus state 应用的一条属性赋值。

字段

fluent::AnchorChange

由状态应用并恢复的完整锚点替换配置。

字段

fluent::QMLState

一组具名属性变更。

字段

fluent::PropertyAnimation

遵循 MotionPolicy 的受管理属性写入动画。

字段

fluent::StateTransition

匹配状态变化时使用的动画;空属性列表表示匹配全部属性。

字段

fluent::QMLPlusRuntime

继承自 QObject

由 QObject 宿主持有、按需创建的 QMLPlus 状态过渡观察对象。

属性

QString state

返回逻辑目标状态,无须等待动画完成。

读取 state()通知 stateChanged()
bool transitionRunning

返回受管理的状态过渡动画是否正在运行。

读取 isTransitionRunning()通知 transitionRunningChanged()

方法

QString state() const

返回逻辑目标状态,无须等待动画完成。

bool isTransitionRunning() const

返回受管理的状态过渡动画是否正在运行。

信号

void stateChanged(const QString& state)

返回逻辑目标状态,无须等待动画完成。

void transitionRunningChanged(bool running)

返回受管理的状态过渡动画是否正在运行。

析构函数

Qt 基类完整成员:QObject

fluent::QMLPlus

构造函数

方法

AnchorLayout::Anchors* anchors()

返回 QWidget 宿主的可变锚点配置。

void setState(const QString& name)

应用具名 state;名称为空时恢复默认状态。

void addState(const QMLState& state)

注册或替换一个具名 state 定义。

void evaluateStates()

重新计算条件;按注册顺序选择首个成立的条件。

QMLPlusRuntime* runtime()

返回按需创建、由宿主持有的状态观察对象。

void setAnchors(const AnchorLayout::Anchors& anchors)

替换宿主的全部锚点,并使父布局失效。

void resetAnchors()

清除宿主全部锚点,并使父布局失效。

void addTransition(const StateTransition& transition)

按优先顺序注册状态过渡。

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

设置宿主受管理属性写入时使用的默认动画。

void clearBehavior(const char* propertyName)

移除后续受管理写入使用的默认动画。

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

通过 Behavior 写入宿主属性,且不移除该属性的绑定。

析构函数

子类扩展接口

方法