【问题标题】:QTableWidget doesn't show valuesQTableWidget 不显示值
【发布时间】:2021-08-08 01:59:03
【问题描述】:

我正在尝试使用 PyQt 将数据集插入 QTableWidget。但是,当我使用 tableWidget.setItem() 时,我的 IDE 崩溃了。

        usuarios = db.child("operacoes").get()
        line = 0
        for usuario in usuarios.each():
            dados = list(usuario.val().values())
            self.ui.tableWidget.setItem(line, 0, QTableWidgetItem(dados[0]))
            self.ui.tableWidget.setItem(line, 1, QTableWidgetItem(dados[1]))
            self.ui.tableWidget.setItem(line, 2, QTableWidgetItem(dados[2]))
            self.ui.tableWidget.setItem(line, 3, QTableWidgetItem(dados[3]))
            self.ui.tableWidget.setItem(line, 4, QTableWidgetItem(str(dados[4])))
            self.ui.tableWidget.setItem(line, 5, QTableWidgetItem(str(dados[5])))
            self.ui.tableWidget.setItem(line, 6, QTableWidgetItem(str(dados[6])))
            line = line + 1

从 Firebase 检索数据并存储在向量中。我正在尝试使用用于从 firebase 检索数据来填充表格的相同循环。但是,当我执行此代码时,我的 QTableWidget 是空白的。

我的dados 向量具有以下值:

dados[0] = "01/01/2000"
dados[1] = "JPY"
dados[2] = "teste"
dados[3] = "BRL"
dados[4] = 1.40
dados[5] = 14.00
dados[6] = 100

我的表格使用 QtDesigner 是这样设计的:

我该如何解决这个问题?

【问题讨论】:

  • 请包括您收到的错误(如果有)。检查“dados”是否包含有效值。
  • @AndrewQ 我没有收到错误消息,dados 包含有效值(我已在控制台上打印)。
  • @AndrewQ 我用dados 值编辑了原始问题。
  • 您是否创建了具有正确行数和列数的 QTableWidget? “我的 IDE 崩溃”是什么意思?你的程序还是 PyCharm?
  • @AndrewQ 程序停止运行,我必须在 IDE 中关闭它。

标签: python pyqt qtablewidget


【解决方案1】:

按照QTableWidget 的文档,在将QTableWidgetItems 添加到单元格之前,您必须声明QTableWidget 的大小(行和列)。这可以在创建表对象时完成(在构造函数中),或者在插入项目之前更改表的大小。 在您的情况下,您可能创建了一个大小为 1 行 x 7 列的表,因此您必须在插入项目之前调整表的大小。 这可以实现添加

usuarios = db.child("operacoes").get()
line = 0
self.ui.tableWidget.setRowCount(len(list(usuarios.val().values())))
for usuario in usuarios.each():
    dados = list(usuario.val().values())
    self.ui.tableWidget.setItem(line, 0, QTableWidgetItem(dados[0]))
    ....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    相关资源
    最近更新 更多