提问人: 提问时间:5/19/2021 最后编辑:musicamante 更新时间:4/27/2022 访问量:869
QTableWidget 不显示值
QTableWidget doesn't show values
问:
我正在尝试使用 PyQt 将数据集插入 QTableWidget 中。但是,当我使用IDE时,崩溃了。tableWidget.setItem()
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设计的:
我该如何解决这个问题?
答:
0赞
AndrewQ
5/19/2021
#1
按照 的文档,在添加到单元格之前,您必须声明 (行和列) 的大小。这可以在创建表对象(在构造函数中)或在插入项之前更改表的大小时完成。
在本例中,您可能已经创建了一个大小为 1 行 x 7 列的表,因此您必须在插入项目之前调整表的大小。
这可以通过添加QTableWidget
QTableWidgetItems
QTableWidget
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]))
....
评论
dados
dados