这样会报错AttributeError: 'QHeaderView' object has no attribute 'clear'
时间: 2023-07-16 09:10:50 浏览: 160
python的mysql数据查询及报错AttributeError: ‘Connection’ object has no attribute ‘curson’
抱歉给你带来了困惑。确实,在 PyQt 中,QHeaderView 对象没有 `clear()` 方法。我之前的回答有误。
要动态加载表头并在第二次加载时保持表头不消失,可以使用以下代码:
```python
header_field = ['ID', '流转单编号', '样品名称', '样品批号', '样品编号', '重量1', '减重1', '重量2', '减重2', '量具编号', '备注描述', '创建时间', '更新时间']
# 清空表格的表头
while self.ui.tableWidget.columnCount() > 0:
self.ui.tableWidget.removeColumn(0)
# 设置新的表头
self.ui.tableWidget.setColumnCount(len(header_field))
self.ui.tableWidget.setHorizontalHeaderLabels(header_field)
```
这段代码会先使用 `removeColumn()` 方法来逐一移除表格的列,以清空旧的表头。然后,使用 `setColumnCount()` 设置表格的列数,并使用 `setHorizontalHeaderLabels()` 设置新的表头字段。
这样,在每次加载数据时,都会清除旧的表头并设置新的表头,以确保表格的表头能够动态更新。
阅读全文