组件
ShadcnTable
基于 ShadcnTableModel + QQC.TableView 的表格组件。
用法
import QtShadcn
ShadcnTableModel {
id: model
columns: [
{ key: "name", title: "姓名", width: 140, align: "left" },
{ key: "email", title: "邮箱", width: 240, align: "left" }
]
rows: [
{ name: "Alice", email: "alice@qtshadcn.dev" },
{ name: "Bob", email: "bob@qtshadcn.dev" }
]
}
ShadcnTable {
model: model
onRowClicked: row => console.log(model.getRow(row))
}
API
ShadcnTableModel(C++ / QML_ELEMENT)
| 属性 / 方法 | 说明 |
|---|---|
rows: list | 行数据,元素为 QObject* 或 { key: value } 对象 |
columns: list | 列定义 { key, title, width, align } |
cellData(row, col) | 取单元格值(QML 内部用,业务一般不需直接调) |
getRow(row) | 取整行属性 map |
updateRow(row, map) | 更新某行字段并刷新视图 |
sortBy(col, asc=true) | 按列排序(字符串/数字自动比较) |
ShadcnTable(QML)
| 属性 | 默认 | 说明 |
|---|---|---|
model | null | ShadcnTableModel |
rowHeight | 40 | 行高 |
headerHeight | 40 | 表头高 |
currentRow | -1 | 选中行 |
rowClicked(row) | — | 点击行信号 |
风格:行 hover =
theme.muted,选中 =theme.accent;圆角/边框对齐既有组件体系。
