qtablewidget当页面关闭时数据不没 打开后继续显示页面上
时间: 2023-08-07 20:03:45 浏览: 82
如果您希望在关闭页面后仍然保留 QTableWidget 的数据,可以将数据保存到本地文件或数据库中,在打开页面时再从文件或数据库中读取数据并填充到 QTableWidget 中。
以下是一个简单的例子,将 QTableWidget 的数据保存到 CSV 文件中:
```python
import csv
def save_data_to_csv(filename, tableWidget):
with open(filename, 'w', newline='') as f:
writer = csv.writer(f)
for row in range(tableWidget.rowCount()):
row_data = []
for col in range(tableWidget.columnCount()):
item = tableWidget.item(row, col)
if item is not None:
row_data.append(item.text())
else:
row_data.append('')
writer.writerow(row_data)
def load_data_from_csv(filename, tableWidget):
with open(filename, 'r') as f:
reader = csv.reader(f)
for i, row_data in enumerate(reader):
tableWidget.setRowCount(i+1)
for j, val in enumerate(row_data):
item = QTableWidgetItem(val)
tableWidget.setItem(i, j, item)
```
在关闭页面时调用 `save_data_to_csv` 函数保存数据到 CSV 文件中:
```python
def closeEvent(self, event):
save_data_to_csv('data.csv', self.tableWidget)
```
在打开页面时调用 `load_data_from_csv` 函数从 CSV 文件中读取数据并填充到 QTableWidget 中:
```python
def openEvent(self, event):
load_data_from_csv('data.csv', self.tableWidget)
```
这样,在关闭页面后再次打开时,QTableWidget 中的数据就可以继续显示。
阅读全文