结构体
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 等。 它作为 KeyEvent 的 modifiers 字段的一部分提供。
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:该元素是用于容纳标签页内容的容器。text:Text元素的角色。该角色会自动应用于Text元素。table:TableView或行为类似表格的元素的角色。tree:TreeView 或行为类似树形视图的元素的角色。(尚未提供)progress-indicator:该元素是ProgressIndicator或行为类似进度指示器的元素。text-input:具有可编辑文本的控件(例如LineEdit或TextEdit)的角色。该角色会自动应用于TextInput元素。switch:该元素是Switch或行为类似开关的元素。list-item:该元素是ListView中的一项。radio-button:该元素是RadioButton或行为类似单选按钮的元素。
AnimationDirection
AnimationDirection
此枚举描述动画的方向。
normal:CSS 中定义的 “normal” 方向。reverse:CSS 中定义的 “reverse” 方向。alternate:CSS 中定义的 “alternate” 方向。alternate-reverse:CSS 中定义的 “alternate-reverse” 方向。
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
此枚举描述了如何确定由路径描述的形状的内部。
nonzero:SVG 中定义的 “nonzero” 填充规则。evenodd:SVG 中定义的 “evenodd” 填充规则
FocusReason
FocusReason
此枚举描述 FocusEvent 的不同触发原因
programmatic:由内置函数调用引起的事件(.focus()、.clear-focus())tab-navigation:由键盘导航引起的事件(Tab 键)pointer-click:由鼠标点击引起的事件popup-activation:由弹出窗口引起的事件window-activation:窗口管理器更改活动窗口并引起的事件
ImageFit
ImageFit
此枚举定义了源图像或路径如何适应 Image 或 Path 元素。
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
表示 HorizontalBox、VerticalBox、 HorizontalLayout 或 VerticalLayout 的 alignment 属性的枚举。
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
此枚举描述 Text 或 StyledText 元素中沿水平轴对齐文本的不同方式。
start:文本将与包含框的起始边对齐。可能是左边或右边,取决于文本的方向。end:文本将与包含框的结束边对齐。可能是左边或右边,取决于文本的方向。left:文本将与包含框的左边缘对齐。center:文本将在包含框内水平居中。right:文本将与包含框的右边缘对齐。
TextOverflow
TextOverflow
当文本过宽而无法适应 Text 或 StyledText 元素的宽度时,此枚举描述文本的显示方式。
clip:文本将被简单地裁剪。elide:文本将以…省略显示。
TextStrokeStyle
TextStrokeStyle
此枚举描述 Text 或 StyledText 元素中文本描边相对于字形轮廓的位置。
outside:描边的内边缘位于文本的外边缘处。center:描边的中心线位于文本的外边缘处,如同 Adobe Illustrator 中那样。
TextVerticalAlignment
TextVerticalAlignment
此枚举描述 Text 或 StyledText 元素中沿垂直轴对齐文本的不同方式。
top:文本将与包含框的顶部对齐。center:文本将在包含框内垂直居中。bottom:文本将与包含框的底部对齐。
TextWrap
TextWrap
当文本过宽而无法适应 Text 或 StyledText 元素的宽度时,此枚举描述文本的换行方式。
no-wrap:文本不会换行,而是会溢出。word-wrap:如果可能,文本将在单词边界处换行;对于很长的单词,则可能在任意位置换行。char-wrap:文本将在任意字符处换行。目前仅 Qt 和 Software 渲染器支持此选项。