Skip to content

结构体

Edges

Edges

表示轴对齐矩形的四条边的结构体

  • left (length):左边值
  • top (length):上边值
  • right (length):右边值
  • bottom (length):下边值

FontMetrics

FontMetrics

用于保存指定像素大小的字体度量信息的结构体。

  • ascent (length):基线到字体中最高字形顶部的距离。
  • descent (length):基线到字体中最高字形底部的距离。通常为负值。
  • x_height (length):基线到字体中最高字形水平中点的距离,如果字体未指定则为 0。
  • cap_height (length):基线到字体中常规大写字母字形顶部的距离,如果字体未指定则为 0。

KeyEvent

KeyEvent

此结构体由系统生成,并传递给 FocusScope 元素的按键和释放回调。

  • text (string):所按按键的 Unicode 表示。
  • modifiers (KeyboardModifiers):按键事件发生时所激活的键盘修饰键。
  • repeat (bool):对于重复的按键事件(即按键被持续按住)该字段被设置为 true。对于按键释放事件,它始终为 false。

KeyboardModifiers

KeyboardModifiers

KeyboardModifiers 结构体通过布尔值指示键盘上可能的修饰键,如 Shift、Control 等。 它作为 KeyEventmodifiers 字段的一部分提供。

Apple 平台上的键盘快捷键通常使用 Command 键(⌘),例如 Command+C 表示“复制”。在其他平台上 相同的快捷键通常使用 Control+C 表示。为了便于开发跨平台应用,在 macOS 上, Slint 将 Command 键映射为 control 修饰键,将 Control 键映射为 meta 修饰键。

在 Windows 上,Windows 键被映射为 meta 修饰键。

  • alt (bool):指示键盘上的 Alt 键。
  • control (bool):指示键盘上的 Control 键,但在 macOS 上对应的是 Command 键(⌘)。
  • shift (bool):指示键盘上的 Shift 键。
  • meta (bool):在 macOS 上指示 Control 键,在 Windows 上指示 Windows 键。

Point

Point

此结构表示具有 x 和 y 坐标的点

  • x (length):
  • y (length):

PointerEvent

PointerEvent

表示由窗口系统发送的指针事件。 此结构体会被传递给 TouchArea 元素的 pointer-event 回调。

  • button (PointerEventButton):被按下或释放的按钮
  • kind (PointerEventKind):事件的种类
  • modifiers (KeyboardModifiers):事件期间按下的键盘修饰键

PointerScrollEvent

PointerScrollEvent

表示由窗口系统发送的指针滚动(或滚轮)事件。 此结构体会被传递给 TouchArea 元素的 scroll-event 回调。

  • delta_x (length):水平方向的像素数量
  • delta_y (length):垂直方向的像素数量
  • modifiers (KeyboardModifiers):事件期间按下的键盘修饰键

Size

Size

此结构表示具有宽度和高度的大小

  • width (length):
  • height (length):

StandardListViewItem

StandardListViewItem

表示 StandardListView 和 StandardTableView 中的一项。

  • text (string):该项的文本内容

TableColumn

TableColumn

用于定义 TableView 的列及列标题

  • title (string):列标题的文本
  • min_width (length):列的最小宽度(逻辑长度)
  • horizontal_stretch (float):列的水平伸缩因子
  • sort_order (SortOrder):对列进行排序
  • width (length):列的实际宽度(逻辑长度)

枚举

AccessibleRole

AccessibleRole

此枚举表示 accessible-role 属性的不同取值,用于在辅助技术(如屏幕阅读器)环境中描述元素所扮演的角色。

  • none:该元素不可访问。
  • button:该元素是 Button 或行为类似按钮的元素。
  • checkbox:该元素是 CheckBox 或行为类似复选框的元素。
  • combobox:该元素是 ComboBox 或行为类似组合框的元素。
  • groupbox:该元素是 GroupBox 或行为类似分组框的元素。
  • image:该元素是 Image 或行为类似图像的元素。该角色会自动应用于 Image 元素。
  • list:该元素是 ListView 或行为类似列表的元素。
  • slider:该元素是 Slider 或行为类似滑块的元素。
  • spinbox:该元素是 SpinBox 或行为类似数值输入框的元素。
  • tab:该元素是 Tab 或行为类似标签页的元素。
  • tab-list:该元素类似于 TabWidget 中的标签栏。
  • tab-panel:该元素是用于容纳标签页内容的容器。
  • textText 元素的角色。该角色会自动应用于 Text 元素。
  • tableTableView 或行为类似表格的元素的角色。
  • tree:TreeView 或行为类似树形视图的元素的角色。(尚未提供)
  • progress-indicator:该元素是 ProgressIndicator 或行为类似进度指示器的元素。
  • text-input:具有可编辑文本的控件(例如 LineEditTextEdit)的角色。该角色会自动应用于 TextInput 元素。
  • switch:该元素是 Switch 或行为类似开关的元素。
  • list-item:该元素是 ListView 中的一项。
  • radio-button:该元素是 RadioButton 或行为类似单选按钮的元素。

AnimationDirection

AnimationDirection

此枚举描述动画的方向。

ColorScheme

ColorScheme

此枚举表示控件样式所使用的色彩方案。可使用此枚举在深色和浅色方案之间显式切换, 或选择 Unknown 以回退到系统默认设置。

  • unknown:方案未知,由系统级设置进行配置。这可能意味着控件以深色或浅色方案显示,但也可能是自定义的色彩方案。
  • dark:该样式为背景选择浅色,为前景选择深色。
  • light:该样式为背景选择深色,为前景选择浅色。

DialogButtonRole

DialogButtonRole

此枚举表示 dialog-button-role 属性的取值,可以将其添加到 Dialog 内的任何元素中以将该项放入按钮行中,其具体位置 取决于该角色和所在平台。

  • none:这不是要放入底部行的按钮
  • accept:这是点击以接受对话框的主按钮的角色。例如 “Ok” 或 “Yes”
  • reject:这是点击以拒绝对话框的主按钮的角色。例如 “Cancel” 或 “No”
  • apply:这是 “Apply” 按钮的角色
  • reset:这是 “Reset” 按钮的角色
  • help:这是 “Help” 按钮的角色
  • action:这是执行其他操作的任何其他按钮的角色。

EventResult

EventResult

此枚举描述事件是被事件处理程序拒绝还是接受。

  • reject:该事件被此事件处理程序拒绝,随后可能由父项处理
  • accept:该事件被接受,不会再被进一步处理

FillRule

FillRule

此枚举描述了如何确定由路径描述的形状的内部。

FocusReason

FocusReason

此枚举描述 FocusEvent 的不同触发原因

  • programmatic:由内置函数调用引起的事件(.focus().clear-focus()
  • tab-navigation:由键盘导航引起的事件(Tab 键)
  • pointer-click:由鼠标点击引起的事件
  • popup-activation:由弹出窗口引起的事件
  • window-activation:窗口管理器更改活动窗口并引起的事件

ImageFit

ImageFit

此枚举定义了源图像或路径如何适应 ImagePath 元素。

  • fill:缩放并拉伸源内容以适应元素的宽度和高度。
  • contain:缩放源内容以适应元素的尺寸,同时保持宽高比。
  • cover:缩放源内容以覆盖元素的尺寸,同时保持宽高比。如果宽高比不匹配,源内容将被裁剪以适应。
  • preserve:以逻辑像素为单位保留源内容的尺寸。源内容仍会按应用于窗口中所有元素的缩放因子进行缩放。任何多余的空间将留空。

ImageHorizontalAlignment

ImageHorizontalAlignment

此枚举指定源图像的水平对齐方式。

  • center:将源图像在 Image 元素中居中对齐。
  • left:将源图像在 Image 元素中左对齐。
  • right:将源图像在 Image 元素中右对齐。

ImageRendering

ImageRendering

此枚举指定源图像的缩放方式。

  • smooth:使用线性插值算法对图像进行缩放。
  • pixelated:使用最近邻算法对图像进行缩放。

ImageTiling

ImageTiling

此枚举指定源图像的平铺方式。

  • none:源图像不会平铺。
  • repeat:源图像将重复以填充 Image 元素。
  • round:源图像将重复并缩放以填充 Image 元素,并保证重复次数为整数。

ImageVerticalAlignment

ImageVerticalAlignment

此枚举指定源图像的垂直对齐方式。

  • center:将源图像在 Image 元素中垂直居中对齐。
  • top:将源图像在 Image 元素中顶端对齐。
  • bottom:将源图像在 Image 元素中底端对齐。

InputType

InputType

此枚举用于定义输入字段的类型。

  • text:默认值。这将正常渲染所有字符
  • password:这将使用默认为 ”*“ 的字符渲染所有字符
  • number:这将仅接受并渲染数字字符(0-9)
  • decimal:只要字符是小数的有效组成部分,将接受并渲染它们

LayoutAlignment

LayoutAlignment

表示 HorizontalBoxVerticalBoxHorizontalLayoutVerticalLayoutalignment 属性的枚举。

  • stretch:使用布局中所有元素的最小大小,然后根据 *-stretch 在所有元素之间分配剩余空间。
  • center:对所有元素使用首选大小,在第一个元素之前和最后一个元素之后均匀分配剩余空间。
  • start:对所有元素使用首选大小,将剩余空间放在最后一个元素之后。
  • end:对所有元素使用首选大小,将剩余空间放在第一个元素之前。
  • space-between:对所有元素使用首选大小,在元素之间均匀分配剩余空间。
  • space-around:对所有元素使用首选大小,在元素之间均匀分配剩余空间,并在首尾各使用一半大小的空间。
  • space-evenly:对所有元素使用首选大小,在第一个元素之前、最后一个元素之后以及元素之间均匀分配剩余空间。

LineCap

LineCap

此枚举描述描边路径端点的外观。

  • butt:描边以垂直于路径的平直边缘结束。
  • round:描边以圆角边缘结束。
  • square:描边以延伸到路径之外的方形端部结束。

LineJoin

LineJoin

此枚举描述描边路径各段之间连接处的外观。

  • miter:描边以尖角连接,必要时根据斜接限制对尖角进行裁剪。
  • round:描边以平滑的圆角连接。
  • bevel:描边以斜角(扁平)连接。

MouseCursor

MouseCursor

此枚举表示不同类型的鼠标光标。它是 CSS 中可用鼠标光标的子集。 有关详细信息和图标,请参阅 MDN 关于 cursor 的文档。 根据后端和所用操作系统的不同,单向调整大小的光标可能会被替换为双向调整大小的光标。

  • default:系统默认光标。
  • none:不显示光标。
  • help:表示帮助信息的光标。
  • pointer:表示链接的指向手形光标。
  • progress:程序正忙,但仍可与之交互。
  • wait:程序正忙。
  • crosshair:十字光标。
  • text:表示可选文本的光标。
  • alias:正在创建别名或快捷方式。
  • copy:正在创建副本。
  • move:将要移动某物。
  • no-drop:某物不能放在此处。
  • not-allowed:不允许某项操作
  • grab:某物可被抓取。
  • grabbing:某物正在被抓取。
  • col-resize:表示列可在水平方向上调整大小。
  • row-resize:表示行可在垂直方向上调整大小。
  • n-resize:单向北向调整大小。
  • e-resize:单向东向调整大小。
  • s-resize:单向南向调整大小。
  • w-resize:单向西向调整大小。
  • ne-resize:单向东北向调整大小。
  • nw-resize:单向西北向调整大小。
  • se-resize:单向东南向调整大小。
  • sw-resize:单向西南向调整大小。
  • ew-resize:双向东西向调整大小。
  • ns-resize:双向南北向调整大小。
  • nesw-resize:双向东北-西南向调整大小。
  • nwse-resize:双向西北-东南向调整大小。

OperatingSystemType

OperatingSystemType

此枚举描述检测到的操作系统类型。

  • android:此变体包括任何运行在手机、平板电脑上的 Android 版本,以及嵌入式 Android 设备。
  • ios:此变体涵盖运行在 iPhone 和 iPad 上的 iOS。
  • macos:此变体涵盖运行在 Apple Mac 电脑上的 macOS。
  • linux:此变体涵盖除 Android 之外的任何 Linux 版本。
  • windows:此变体涵盖 Microsoft Windows。
  • other:当操作系统不属于上述任何一种时,将报告此变体。

Orientation

Orientation

表示元素或控件(例如 Slider)的方向。

  • horizontal:元素水平排列。
  • vertical:元素垂直排列。

PathEvent

PathEvent

PathEvent 是一个底层数据结构,描述路径的组成。通常在编译时由更高级的描述(如 SVG 命令)生成。

  • begin:路径的起点。
  • line:路径上的一条直线段。
  • quadratic:路径上的一条二次贝塞尔曲线。
  • cubic:路径上的一条三次贝塞尔曲线。
  • end-open:保持开放的路径终点。
  • end-closed:已闭合的路径终点。

PointerEventButton

PointerEventButton

此枚举描述指针事件的不同按钮类型, 通常对应于鼠标或触控笔。

  • other:不属于左、右、中、后或前进的按钮。例如,这用于多键鼠标的任务按钮。
  • left:左键。
  • right:右键。
  • middle:中键。
  • back:后退按钮。
  • forward:前进按钮。

PointerEventKind

PointerEventKind

该枚举报告事件中 PointerEventButton 发生了什么

  • cancel:该操作被取消。
  • down:按钮被按下。
  • up:按钮被释放。
  • move:指针已移动。

PopupClosePolicy

PopupClosePolicy

  • close-on-click:当用户点击或按下 Esc 键时关闭 PopupWindow
  • close-on-click-outside:当用户点击弹出窗口外部或按下 Esc 键时关闭 PopupWindow
  • no-auto-close:当用户点击时不会自动关闭 PopupWindow

ScrollBarPolicy

ScrollBarPolicy

此枚举描述滚动条的可见性

  • as-needed:仅在需要时显示滚动条
  • always-off:从不显示滚动条
  • always-on:始终显示滚动条

SortOrder

SortOrder

此枚举表示 sort-order 属性的不同取值。 它用于按某一列对 StandardTableView 进行排序。

  • unsorted:该列未排序。
  • ascending:该列按升序排序。
  • descending:该列按降序排序。

StandardButtonKind

StandardButtonKind

使用此枚举向 Dialog 添加标准按钮。这些 StandardButton 的外观和位置 取决于应用程序运行的环境 (操作系统、UI 环境等)。

  • ok:一个 “OK” 按钮,用于接受 Dialog,在点击时将其关闭。
  • cancel:一个 “Cancel” 按钮,用于拒绝 Dialog,在点击时将其关闭。
  • apply:一个 “Apply” 按钮,用于在不关闭 Dialog 的情况下接受其值。
  • reset:一个 “Reset” 按钮,用于将 Dialog 重置为初始状态。
  • close:一个 “Close” 按钮,在不查看值的情况下关闭 Dialog
  • help:一个 “Help” 按钮,在点击时弹出相关的上下文帮助文档。
  • yes:一个 “Yes” 按钮,用于确认某项操作。
  • no:一个 “No” 按钮,用于拒绝某项操作。
  • abort:一个 “Abort” 按钮,用于中止某项操作。
  • retry:一个 “Retry” 按钮,用于重试失败的操作。
  • ignore:一个 “Ignore” 按钮,用于忽略失败的操作。

TextHorizontalAlignment

TextHorizontalAlignment

此枚举描述 TextStyledText 元素中沿水平轴对齐文本的不同方式。

  • start:文本将与包含框的起始边对齐。可能是左边或右边,取决于文本的方向。
  • end:文本将与包含框的结束边对齐。可能是左边或右边,取决于文本的方向。
  • left:文本将与包含框的左边缘对齐。
  • center:文本将在包含框内水平居中。
  • right:文本将与包含框的右边缘对齐。

TextOverflow

TextOverflow

当文本过宽而无法适应 TextStyledText 元素的宽度时,此枚举描述文本的显示方式。

  • clip:文本将被简单地裁剪。
  • elide:文本将以 省略显示。

TextStrokeStyle

TextStrokeStyle

此枚举描述 TextStyledText 元素中文本描边相对于字形轮廓的位置。

  • outside:描边的内边缘位于文本的外边缘处。
  • center:描边的中心线位于文本的外边缘处,如同 Adobe Illustrator 中那样。

TextVerticalAlignment

TextVerticalAlignment

此枚举描述 TextStyledText 元素中沿垂直轴对齐文本的不同方式。

  • top:文本将与包含框的顶部对齐。
  • center:文本将在包含框内垂直居中。
  • bottom:文本将与包含框的底部对齐。

TextWrap

TextWrap

当文本过宽而无法适应 TextStyledText 元素的宽度时,此枚举描述文本的换行方式。

  • no-wrap:文本不会换行,而是会溢出。
  • word-wrap:如果可能,文本将在单词边界处换行;对于很长的单词,则可能在任意位置换行。
  • char-wrap:文本将在任意字符处换行。目前仅 Qt 和 Software 渲染器支持此选项。

基于 MIT 协议发布