Skip to content

属性

元素有一组具名属性,由其类型决定: 元素的类型提供属性——包括它 继承自基类的那些—— 而元素体中的属性声明会添加更多。 {#sls.prop.def}

属性持有该属性类型的值; 读取该属性会得到其当前值。 {#sls.prop.def.value}

属性声明 会向其所在元素体内添加一个属性。 它由关键字 property、尖括号中的类型和一个名字组成, 可选地在前面带有一个可见性修饰符, 可选地在后面跟 : 以及一个绑定到该属性的表达式, 并以 ; 结尾。 {#sls.prop.decl.form}

export component Example inherits Window {
in property <color> tint;
in-out property <length> gap: 10px;
}
slint

修饰符声明属性的可见性: 即哪一侧可以读取和设置属性的值。 {#sls.prop.decl.visibility}

in 属性是组件的输入。 {#sls.prop.decl.in}

在应用直接实例化的组件的根元素上,应用通过生成的 API 设置其值。 {#sls.prop.decl.in.root}

在任何其他元素上,外层组件通过绑定设置其值。 {#sls.prop.decl.in.child}

out 属性是组件的输出: 组件确定其值,应用读取它。 {#sls.prop.decl.out}

in-out 属性兼具两者:应用设置并读取其值。 {#sls.prop.decl.in-out}

private 属性是组件内部的: 应用既不能设置也不能读取它。 私有是默认值:不带修饰符的声明声明一个私有属性。 {#sls.prop.decl.private}

属性可以在任何元素上声明。

可以声明任何属性类型。

没有绑定时,属性具有其类型的默认值。 {#sls.prop.decl.default}

变更回调对属性值的变化作出反应, 而带双向绑定的声明会将新属性链接到现有属性。

声明前可以带有 @deprecated 注解, 它会将该属性标记为已废弃,并指引用户使用其替代者。


© 2026 SixtyFPS GmbH