我试图使用QTableWidget将数据集插入到PyQt中。但是,当我使用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:
我怎么才能解决这个问题?
发布于 2021-05-18 22:15:52
在QTableWidget
的文档之后,在向单元格中添加QTableWidgetItems
之前,必须声明QTableWidget
的大小(行和列)。这可以在创建表对象(在构造函数中)时完成,或者在插入项之前更改表的大小。在您的示例中,您可能已经创建了一个大小为1行x7列的表,因此必须在插入项之前调整表的大小。这可以实现添加
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]))
....
https://stackoverflow.com/questions/67592850
复制相似问题