Skip to content

Properties

An element has a set of named properties, determined by the type of the element. A property holds a value.[sls.prop.def]

A property declaration adds a property to the element in whose body it appears. It consists of the keyword property, the type in angle brackets, and a name, optionally preceded by a visibility modifier, optionally followed by : and an expression that binds to the property, and ends with ;.[sls.prop.decl.form]

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

The modifier declares the property’s visibility: which side may read and set the property’s value.[sls.prop.decl.visibility]

An in property is an input of the component: the application sets its value.[sls.prop.decl.in]

An out property is an output of the component: the component determines its value, and the application reads it.[sls.prop.decl.out]

An in-out property is both: the application sets and reads its value.[sls.prop.decl.in-out]

A private property is internal to the component: the application can neither set nor read it. Private is the default: a declaration without a modifier declares a private property.[sls.prop.decl.private]

Properties shall only be declared on the root element.[sls.prop.decl.root-only]

The declared type shall be length or color.[sls.prop.decl.types]

Without a binding, the property has the default value of its type.[sls.prop.decl.default]


© 2026 SixtyFPS GmbH