QTableView的用法

QTableView是一个显示表格数据的控件,它继承自QAbstractItemView类。下面介绍QTableView的用法:

  • 添加QTableView控件

在Qt Designer中可以直接将QTableView拖放到窗口中,也可以在代码中创建QTableView实例并将其添加到布局中:

table_view = QTableView()
layout.addWidget(table_view)
  • 设置数据模型

QTableView需要一个数据模型来提供数据,常用的数据模型有QStandardItemModel、QSqlTableModel和QSqlQueryModel等。以QStandardItemModel为例:

model = QStandardItemModel()
model.setColumnCount(3)
model.setRowCount(4)
for row in range(model.rowCount()):
    for column in range(model.columnCount()):
        item = QStandardItem(str(row * 100 + column))
        model.setItem(row, column, item)
table_view.setModel(model)

上述代码创建了一个3列4行的表格,并将每个单元格的数据都设置为行号乘以100再加上列号(如第1行第2列为102)。

  • 设置表头

可以通过QHeaderView设置表头,包括水平表头和垂直表头。例如:

horizontal_header = table_view.horizontalHeader()
horizontal_header.setSectionResizeMode(QHeaderView.Stretch)

vertical_header = table_view.verticalHeader()
vertical_header.setSectionResizeMode(QHeaderView.Stretch)

上述代码将水平表头和垂直表头的大小调整为与控件相同。

  • 其他操作

QTableView还支持以下常见操作:

  1. 获取选中单元格的行列号:

    selected_indexes = table_view.selectedIndexes()
    rows = set(index.row() for index in selected_indexes)
    cols = set(index.column() for index in selected_indexes)
  2. 设置单元格可编辑:

    table_view.setEditTriggers(QAbstractItemView.DoubleClicked)
  3. 获取单元格数据:

    model.data(model.index(row, column))
  4. 设置单元格数据:

    model.setData(model.index(row, column), new_value)

    以上是QTableView的主要用法,更多详细信息可以参考官方文档。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值