QtShadcn
组件

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)

属性默认说明
modelnullShadcnTableModel
rowHeight40行高
headerHeight40表头高
currentRow-1选中行
rowClicked(row)—点击行信号

风格:行 hover = theme.muted,选中 = theme.accent;圆角/边框对齐既有组件体系。

Copyright © 2026