pyqt的qtableview清空表格内容
时间: 2024-03-03 07:45:46 浏览: 237
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
5星 · 资源好评率100%
要清空PyQt的QTableView表格内容,可以使用QAbstractTableModel来管理表格数据,并通过调用其reset()方法来清空表格内容。下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QVBoxLayout, QWidget
from PyQt5.QtCore import QAbstractTableModel, Qt
class TableModel(QAbstractTableModel):
def __init__(self, data):
super().__init__()
self._data = data
def rowCount(self, parent):
return len(self._data)
def columnCount(self, parent):
return len(self._data[0])
def data(self, index, role):
if role == Qt.DisplayRole:
row = index.row()
col = index.column()
return str(self._data[row][col])
def reset(self):
self.beginResetModel()
self.endResetModel()
if __name__ == '__main__':
app = QApplication([])
window = QWidget()
layout = QVBoxLayout(window)
table_view = QTableView()
layout.addWidget(table_view)
data = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
model = TableModel(data)
table_view.setModel(model)
# 清空表格内容
model.reset()
window.show()
app.exec()
```
在上面的示例中,我们创建了一个自定义的TableModel类,继承自QAbstractTableModel,并实现了必要的方法。在reset()方法中,我们通过调用beginResetModel()和endResetModel()来通知视图重置模型数据。最后,我们通过调用model.reset()来清空表格内容。
阅读全文