Slint 语句(statements) Slint Statements在编程中,表达式是值、变量、操作符和函数调用的组合,其计算结果为单个值。例如,’ 2 + 3 ‘是一个求值为’ 5 ‘的表达式。表达式可以用作较大表达式的一部分,也可以用作函数的参数。 另一方面,语句是执行一个操作的完整代码行。语句可以包括表达式,但也可以包括关键字、循环、条件和其他编程结构。例如,’ if (x > 0) {y = 1;}是一个检查 2024-01-13 #Slint
Slint 消息回调 消息回调组件能够定义回调以和外界交流改变的状态信息。回调是通过“调用”它们来调用的,就像调用函数一样。个人的理解,消息回调类似于Qt中常用的信号槽之槽函数。您可以通过使用 => 箭头语法声明处理程序来对回调调用做出反应。内置的 TouchArea 元素声明一个 clicked 回调,当用户触摸该元素覆盖的矩形区域或用鼠标单击该区域时会调用该回调。在下面的示例中,通过声明处理程序并调 2024-01-12 #Slint
Slint 函数 Slint 函数在slint中定义一个函数需要使用到function关键字 函数可以在括号中添加参数,参数需要遵循函数名:类型的格式。这些参数可以通过函数体内的名称来引用。 函数也可以返回一个值,返回的类型需要使用->符号在函数中标明。function 函数名称(参数1: 类型) -> 返回类型return 关键字在函数体内使用以返回声明类型的表达式。如果函数没有显式返回值,则默认返回 2024-01-12 #Slint
Slint 表达式 Slint 表达式表达式是在用户界面中声明关系和连接的强大方式。它们通常用于将基本算术与访问其他元素的属性结合起来。当这些属性发生变化时,表达式会自动重新求值,并为与该表达式关联的属性赋一个新值: 12345678export component Example { // declare a property of type int in-out property<in 2024-01-11 #Slint
Slint 属性 Slint 属性所有元素均有属性。内置元素具有常见特性,如颜色或尺寸特性。你可以为它们设定一个值或者一个完整的表达式。 123456export component Example inherits Window { // 简单表达式:以分号结尾 width: 42px; // 或者用一个代码块包裹,这样就没有分号了 height: { 42px 2024-01-11 #Slint
Slint DSL 类型 注释Slint支持C类风格的注释: 使用两个斜杠(//) 的方式注释此行中在//之后的所有内容 块注释(/* ... */ ) , 注释处于/* 到 */之间的所有内容例:123456component MyRectangle inherits Rectangle{ // 这是一个注释 /* 这是一个注释 这也是一个注释 */} 标识符标识符可以由 2024-01-10 #Slint
Slint 语言翻译 Slint 语言翻译使用Slint自带基本翻译功能可以让你的程序实现切换不同的语言 完成下面几个步骤便可以完成程序的翻译工作: 表明所有对用户可见且需要翻译的字符串并使用@tr()宏进行注释 使用 slint-tr-extractor 工具提取带注释的字符串并生成 .pot 文件。 使用第三方工具将字符串翻译为目标语言,如 .po 文件。 使用 gettext 的 msgfmt 工具将 2024-01-09 #Slint
Slint 纯度 Slint 纯度友情提示本章节内容本人做了一定的补充,实际内容和原文有一定区别。原文内容使用引用符号标注。 Slint中的属性是评估是惰性的并且”相对的、被动“的。当某个属性在被读取时,才会评估属性绑定。属性之间的依赖关系是在属性评估过程中自动发现的。该属性存储评估的结果。当属性发生更改时,会通知所有依赖属性,以便下次读取其值时,重新评估其绑定。 这种加载方式和编程时用的懒拷贝技术并不是完全一 2024-01-09 #Slint
Slint 字体处理 Slint 字体处理一些元素诸如Text和TextInput 能够渲染文本以及允许通过不同的属性自定义文本的外观。以 font- 为前缀的属性,例如 font-family、font-size 和 font-weight 会影响用于渲染到屏幕的字体的选择。如果未指定任何这些属性,则应用周围 Window 元素中的 default-font- 值,例如 default-font-family。 选择 2024-01-09 #Slint
Slint 焦点处理 Slint 焦点处理某些元素(如TextInput)不仅接受来自鼠标/手指的输入,还接受来自(虚拟)键盘的键事件。为了让控件接收这些事件,它必须具有焦点。这可以通过has-focus (out)属性看到。 你可以通过调用focus()来手动激活元素的焦点: 1234567891011121314import { Button } from "std-widg 2024-01-08 #Slint