Python - PyQt - QTable Widget - 添加行

标签 python pyqt qtablewidget

我是 PyQt 的新手,但仍然有点困惑。我有一个这样的文本文件结构:

  • 名字姓氏电话电子邮件

现在当我用我的方法读取这个文件时,空格实际上是制表符“\t”,我希望填充 QTable 小部件。

我的 QTable 小部件有 4 列,分别是 NameSurnameTelephoneEmail 现在它没有行但是当我从文件中读取行并用制表符拆分每一行时,我希望添加一个新行,该行在每一列中包含该行中的任何内容。

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

最佳答案

当你想要填充QTableWidget时,你需要在插入数据之前设置行数和列数example in documentation (PySide 文档比 PyQt 更好)。并且您不能只将由制表符分隔的文本字符串插入表中,您需要自己准备,然后通过调用QTableWidget.setItemQTableWidgetItem 填充到表中。它看起来像这样:

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 module为了这个任务。

关于Python - PyQt - QTable Widget - 添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8775447/

相关文章:

c++ - 如何将 CSV 文件导入 QTableWidget

c++ - QTableWidget单元格更新

python - 使用Python的pickle打开和保存字典

python - Qt:从一个 QSqlTableModel 在两个 QListView 之间移动条目

Qt,在不重新实现绘画的情况下删除选择的虚线矩形

python - 捕获 PyQt 异常

python - 来自 Bokeh 的 hplot 无法正确导入以创建直方图

python - 使用 Python 从 CSV 中删除包含空单元格的行

python - 在多行中连接python中的字符串

python - 在 Pyqt4 Python 中从 QtableWidget 中的 QlineEdit 检索值