跳转至

Table 表格

用于展示多条结构化数据。Element Plus 风格,支持列头设置、数据填充和行选中高亮。

基础用法

表格预览

from monkeyqt import MkTable

table = MkTable()

# 设置表头
table.set_headers(["姓名", "年龄", "城市"])

# 填充数据
table.set_data([
    ["张三", "25", "北京"],
    ["李四", "30", "上海"],
    ["王五", "28", "广州"],
])

自定义列宽

from PySide6.QtWidgets import QHeaderView

table = MkTable()
table.set_headers(["ID", "名称", "描述"])

# 第一列固定宽度
table.horizontalHeader().resizeSection(0, 60)

# 第二列自适应内容
table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeToContents)

# 最后一列拉伸填充(默认已启用)

指定行列创建

# 创建时指定初始行列数
table = MkTable(rows=5, columns=3)

API

构造函数

MkTable(rows=0, columns=0, parent=None)
参数 类型 默认值 说明
rows int 0 初始行数
columns int 0 初始列数
parent QWidget None 父组件

方法

方法 说明
set_headers(headers) 设置列标题,headers 为字符串列表
set_data(data) 填充表格数据,data 为二维列表

默认行为

特性 说明
编辑 禁用(只读模式)
选中模式 整行选中,单选
网格线 隐藏
行头 隐藏
最后一列 自动拉伸填充

继承

MkTable 继承自 QTableWidget,支持所有原生 API。