将上面QT中,将表格中被选中的多行数据保存到文件中的例子反过来将文件中的数据打印在表格中
时间: 2023-11-22 08:52:10 浏览: 71
要将文件中的数据打印在表格中,可以使用类似于读取文件的方式,将文件中的数据读取到程序中,然后逐行添加到表格中。具体实现步骤如下:
1. 创建一个空的表格,并设置列数、列名等属性。
```python
tableWidget = QTableWidget()
tableWidget.setColumnCount(3)
tableWidget.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
```
2. 打开文件并逐行读取数据,将每行数据添加到表格中。
```python
with open('data.txt', 'r') as f:
for line in f:
# 去除换行符,并按照逗号分隔数据
data = line.strip().split(',')
# 创建一个新的行,并将数据添加到单元格中
row = tableWidget.rowCount()
tableWidget.insertRow(row)
for i, item in enumerate(data):
tableWidget.setItem(row, i, QTableWidgetItem(item))
```
完整代码示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个空的表格,并设置列数、列名等属性
tableWidget = QTableWidget(self)
tableWidget.setColumnCount(3)
tableWidget.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
# 打开文件并逐行读取数据,将每行数据添加到表格中
with open('data.txt', 'r') as f:
for line in f:
# 去除换行符,并按照逗号分隔数据
data = line.strip().split(',')
# 创建一个新的行,并将数据添加到单元格中
row = tableWidget.rowCount()
tableWidget.insertRow(row)
for i, item in enumerate(data):
tableWidget.setItem(row, i, QTableWidgetItem(item))
self.setCentralWidget(tableWidget)
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
其中,`data.txt` 文件中的数据格式为:
```
Alice,20,Female
Bob,25,Male
Charlie,30,Male
```
运行程序后,会在窗口中显示一个包含三行数据的表格。
阅读全文