Skip to content

StandardTableView 表示一个由列和行组成的数据表格。单元格 在一个模型中进行组织,其中每一行都是以下结构的模型:

struct StandardListViewItem default: a struct with all default values

每行中各项的模型。

StandardListViewItem

表示 StandardListView 和 StandardTableView 中的一项。

  • text (string):该项的文本内容
slint
import { StandardTableView } from "std-widgets.slint";export component Example inherits Window {    width: 230px;    height: 200px;
    StandardTableView {        width: 230px;        height: 200px;        columns: [            { title: "Header 1" },            { title: "Header 2" },        ];        rows: [            [                { text: "Item 1" }, { text: "Item 2" },            ],            [                { text: "Item 1" }, { text: "Item 2" },            ],            [                { text: "Item 1" }, { text: "Item 2" },            ]        ];    }}

std-widgets standardtableview 示例

属性

ListView 相同,并附加:

current-sort-column

int (out) default: 0

指示当前排序的列。-1 表示没有任何列被排序。

columns

[struct] (in-out) default: a struct with all default values

定义表列的模型。

slint
StandardTableView {    columns: [{ title: "Header 1" }, { title: "Header 2" }];    rows: [[{ text: "Item 1" }, { text: "Item 2" }]];}

TableColumn

用于定义 TableView 的列及列标题

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

rows

[[struct]] (in-out) default: a struct with all default values

定义表行的模型。

slint
StandardTableView {    columns: [{ title: "Header 1" }, { title: "Header 2" }];    rows: [[{ text: "Item 1" }, { text: "Item 2" }]];}

StandardListViewItem

表示 StandardListView 和 StandardTableView 中的一项。

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

current-row

int (in-out) default: 0

当前活动行的索引。-1 表示未选中任何行,这是默认值。

回调

sort-ascending(int)

当模型应按指定列升序排序时触发。

sort-descending(int)

当模型应按指定列降序排序时触发。

row-pointer-event(int, PointerEvent, Point)

在任何鼠标指针事件上触发,类似于 TouchArea。参数为与该事件关联的行索引、PointerEvent 本身以及 tableview 中的鼠标位置。

current-row-changed(int)

当用户修改导致当前行发生变化时触发。

slint
StandardTableView {    columns: [{ title: "Header 1" }, { title: "Header 2" }];    rows: [[{ text: "Item 1" }, { text: "Item 2" }]];
    current-row-changed(index) => {        debug("Current row: ", index);    }}

函数

set-current-row(int)

通过索引设置当前行,并将其滚动到视图中。

基于 MIT 协议发布