Python-PyQt-QTable小部件-添加行

Python-PyQt-QTable小部件-添加行,python,pyqt,qtablewidget,Python,Pyqt,Qtablewidget,我是PyQt的新手,但还是有点困惑。我的文本文件结构如下: 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

我是PyQt的新手,但还是有点困惑。我的文本文件结构如下:

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)
  • 姓名姓名电话电子邮件
其中空格实际上是制表符“\t”,现在当我用我的方法读取此文件时,我希望填充QTable小部件

我的QTable小部件有4列,分别是
名称
姓氏
电话
电子邮件
,现在它没有行了,但当我从文件中读取行并按制表器拆分每行时,我希望在每列中添加一个新行,其中包含行中的内容


有人能告诉我怎么做吗,因为我找不到QTable Widget提供的解决方案或方法可以让你这么做。

当你想填充
QTableWidget
时,你需要在插入数据之前设置行数和列数(PySide文档比PyQt好)。而且,您不能只将由制表符分隔的文本字符串插入表中,您需要自己准备它,然后通过调用
QTableWidget.setItem
,用
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)
我假设您有包含条目的
数据
文件,
tableWidget
QTableWidget
实例


在本示例文件中手工解析,但考虑使用StARTART进行此任务。

谢谢您的帮助。我更改了我的gui应用程序,其中我的方法逐行读取文件,并像您一样将行附加到列表中。非常感谢。对于像我这样的python初学者:我相信要使用QTableWidgetItem,您必须从PyQt4导入QtGui(从PyQt4导入QtCore,QyGui),并使用QtGui.QTableWidgetItem,而不仅仅是QTableWidgetItem。