微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QTableWidget 不显示值

如何解决QTableWidget 不显示值

我正在尝试使用 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,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 设计成这样:

enter image description here

我该如何解决这个问题?

解决方法

按照 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,QTableWidgetItem(dados[0]))
    ....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。