Skip to content

文件结构

.slint 源文件是零个或多个顶层项的序列,仅由空白和注释分隔。 {#sls.file.source-file}

仅包含空白和注释的源文件格式良好,并且不定义任何组件。 {#sls.file.source-file.empty}

顶层项是组件定义、import 语句、export 语句、 结构体或枚举声明或全局声明。

组件定义具有以下两种形式之一: {#sls.file.component.definition-forms}

component Name { /* component body */ }
component Name inherits Base { /* component body */ }
slint

component 关键字后面的标识符是组件的名字。 {#sls.file.component.name}

第一种形式定义一个没有显式基类的组件; 第二种形式定义一个从 Base 命名的元素类型继承的组件。 {#sls.file.component.inherits}

继承的组件会扩展其基类: 组件的实例是 Base 类型的元素。 {#sls.file.component.inherits.meaning}

组件体的绑定应用于该元素, 而在组件体中实例化的元素会成为该元素的子元素。 {#sls.file.component.inherits.body-applies}

除了其主体中声明的那些属性外,该组件还具有 Base 的属性, 组件体中的绑定可以绑定它们。 {#sls.file.component.inherits.properties}

标识符 Base 应解析为内置元素、文件中先前定义的组件或导入的组件。 {#sls.file.component.inherits.base}

花括号 { 和 } 界定组件体。 {#sls.file.component.body-braces}

组件体是零个或多个元素实例化、绑定和属性声明的序列,仅由空白和注释分隔。 {#sls.file.component.body}

不包含任何元素实例化的组件体格式良好。 {#sls.file.component.body.empty}

元素实例化具有以下形式: {#sls.file.element.instantiation-form}

TypeName { /* element body */ }
slint

标识符 TypeName 应解析为内置或用户定义的组件。 {#sls.file.element.instantiation-typename}

实例化前可以带有一个 id 和 :=,例如 foo := Rectangle { }, 在组件内命名该元素, 以便引用能够访问其属性。 {#sls.file.element.id}

export component Example inherits Window {
frame := Rectangle {
background: #2a6e3f;
width: 120px;
}
Rectangle {
background: #1a4f2c;
width: frame.width;
}
}
slint

id 是一个标识符, 因此当两个 id 的 规范化形式相等时,它们是同一个 id。 {#sls.file.element.id.identifier}

id 在组件内应唯一。 {#sls.file.element.id.unique}

唯一性规则涵盖整个组件,包括 for 和 if 子树内的元素。

名字 self、parent 和 root 是保留的,不得用作 id。 {#sls.file.element.id.reserved}

将 Window 或继承 Window 的组件作为元素实例化已废弃: 它不会创建单独的窗口。

花括号界定元素体。 元素体是零个或多个嵌套元素实例化和绑定的序列,仅由空白和注释分隔。 {#sls.file.element.body}

嵌套的元素实例化是它所在元素体对应元素实例化的子元素。 子元素关系构成一棵树,其根为直接出现在组件体中的元素。 {#sls.file.element.tree}

下面是一个完整、格式良好的 .slint 源文件: {#sls.file.example.intro}

export component Hello inherits Window {
Rectangle {
}
Rectangle {
}
}
slint

它导出一个组件 Hello,该组件继承自 Window,其主体包含两个顶层 Rectangle 实例化。 {#sls.file.example.description}


© 2026 SixtyFPS GmbH