我是PyQt的新手,无论如何还是有些困惑。我有一个像这样的文本文件结构:
现在,当我阅读此文件时,空格实际上是制表符“\t”,我希望使用此方法填充QTable窗口小部件。
我的QTable窗口小部件有4列称为
Name
,Surname
,Telephone
和Email
,现在它没有行了,但是当我从文件中读取行并按制表符拆分每行时,我希望在每列中添加一个新行,其中包含该行中的所有内容。有人可以指出我该怎么做的方向,因为我找不到QTable Widget提供的解决方案或方法来实现此目的。
最佳答案
如果要填充QTableWidget
,则需要在插入数据example in documentation之前设置行数和列数(PySide文档比PyQt更好)。而且,您不仅可以将用制表符分隔的文本字符串插入表中,还需要自己准备,然后通过调用QTableWidgetItem
用QTableWidget.setItem
填充表。它看起来像这样:
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 module用于此任务。
关于Python-PyQt-QTable窗口小部件-添加行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8775447/