9

我是 PyQt 的新手,无论如何还是有点困惑。我有一个像这样的文本文件结构:

  • 姓名 姓氏 电话 电子邮件

现在,当我使用我的方法阅读此文件时,空格实际上是制表符“ \t ”,我希望填充 QTable Widget。

我的 QTable Widget 有 4 列称为Name, Surname, TelephoneEmail现在它没有行,但是当我从文件中读取行并通过制表符拆分每一行时,我希望添加一个新行,每列中包含该行中的任何内容。

有人可以指点我如何解决这个问题,因为我找不到 QTable Widget 提供的解决方案或方法,可以让你做到这一点。

4

1 回答 1

15

当您想要填充时,您需要在文档中插入数据示例QTableWidget之前设置行数和列数(PySide 文档优于 PyQt)。而且您不能只将由制表符分隔的文本字符串插入到表格中,您需要自己准备,然后通过调用 's填充表格。它看起来像这样:QTableWidgetItemQTableWidget.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你的条目的文件,并且tableWidgetQTableWidget实例。

在此示例文件中手动解析,但考虑使用标准csv 模块来完成此任务。

于 2012-01-08T07:47:29.073 回答