API 参考
QMLPlus
为 QWidget 组件提供 anchors、属性绑定和简单 state 能力的 mixin。
没有匹配的 API 成员。
fluent::AnchorLayout
继承自 QLayout
面向 QWidget 控件的轻量锚点布局。
构造函数
方法
Anchors anchorsForWidget(QWidget* widget) const返回已注册控件的当前锚点。
bool setWidgetAnchors(QWidget* widget, const Anchors& anchors)替换已注册控件的锚点,并使布局失效。
枚举
enum class Edge可锚定的边缘或中心线。
NoneLeftRightTopBottomHCenterVCenter
类型与别名
struct Anchor描述一个边缘到目标控件边缘的锚定关系。
struct Anchors单个子控件的完整锚点集合。
析构函数
Qt 基类完整成员:QLayout
fluent::AnchorLayout::Anchor
描述一个边缘到目标控件边缘的锚定关系。
构造函数
字段
fluent::AnchorLayout::Anchors
单个子控件的完整锚点集合。
构造函数
字段
fluent::PropertyLink
继承自 QObject
将一个 QObject 属性同步到另一个 QObject 属性的运行时绑定对象。
构造函数
方法
Qt 基类完整成员:QObject
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属性绑定方向。
OneWayTwoWay
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 bind(const char* targetProp, QObject* source, const char* sourceProp, PropertyBinder::Direction dir = PropertyBinder::OneWay)将 source 属性绑定到 QWidget 宿主上的 target 属性。
BindingHandle bindManaged(const char* targetProp, QObject* source, const char* sourceProp, PropertyBinder::Direction direction = PropertyBinder::OneWay, BindingOptions options = {})在当前 QWidget 宿主上安装可管理的直接绑定。
BindingHandle bindComputed(const char* targetProp, const QVector<BindingDependency>& dependencies, std::function<QVariant()> evaluate, BindingOptions options = {})在当前 QWidget 宿主上安装使用显式依赖的 C++ 表达式绑定。
void setBehavior(const char* propertyName, const PropertyAnimation& animation)设置宿主受管理属性写入时使用的默认动画。
void clearBehavior(const char* propertyName)移除后续受管理写入使用的默认动画。
bool writeProperty(const char* propertyName, const QVariant& value)通过 Behavior 写入宿主属性,且不移除该属性的绑定。