我是PyQt的新手,无论如何还是有点困惑。我有一个这样的文本文件结构:
- 姓名电话电子邮件
当我用我希望填充QTable Widget的方法读取这个文件时,空格实际上是选项卡"\t"。
我的QTable Widget有4列,分别称为Name
、Surname
、Telephone
和Email
,现在它没有行,但当我从文件中读取行并用制表器拆分每一行时,我希望在每一列中添加一个新行,其中包含行中的内容。
有人能为我指明如何进行这项工作的方向吗?因为我找不到QTable Widget提供的解决方案或方法。
当您想要填充QTableWidget
时,您需要在文档中插入数据示例之前设置行和列计数(PySide文档比PyQt更好)。而且,您不能只在表中插入由制表符分隔的文本字符串,您需要自己准备它,然后通过调用QTableWidget.setItem
用QTableWidgetItem
填充表。它看起来是这样的:
entries = []
with open('data') as input:
for line in input:
entries.append(line.strip().split('t'))
tableWidget.setRowCount(len(entries))
tableWidget.setColumnCount(len(entries[0]))
for i, row in enumerate(entries):
for j, col in enumerate(row):
item = QTableWidgetItem(col)
tableWidget.setItem(i, j, item)
我假设您有包含条目的data
文件,而tableWidget
是QTableWidget
实例。
在这个例子中,文件是手工解析的,但考虑使用standart csv模块来完成这个任务。