Python-PyQt-QTable小部件-添加行
我是PyQt的新手,但还是有点困惑。我的文本文件结构如下: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
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)
- 姓名姓名电话电子邮件
名称
,姓氏
,电话
,电子邮件
,现在它没有行了,但当我从文件中读取行并按制表器拆分每行时,我希望在每列中添加一个新行,其中包含行中的内容
有人能告诉我怎么做吗,因为我找不到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。