首页 > 解决方案 > PyQt5 中未显示某些 tableWidget 单元格

问题描述

所以我正在创建一个 tableWidget 来跟踪 PyQt5 的销售情况。

TableWidget 的图像

该表从 excel 工作表中获取数据。

问题是前两个项目正在显示,但其他项目没有(如图所示)

这是我写的代码:

def refreshTable():
    ui.tableWidget.setRowCount(0)
    for j in range(1,ws2.max_row+1):
        ui.tableWidget.insertRow(ui.tableWidget.rowCount())
        ui.tableWidget.setItem(j-1 , 0, QtWidgets.QTableWidgetItem(ws2["A"+str(j)].value))
        ui.tableWidget.setItem(j-1 , 1, QtWidgets.QTableWidgetItem(ws2["B"+str(j)].value))
        ui.tableWidget.setItem(j-1 , 2, QtWidgets.QTableWidgetItem(ws2["C"+str(j)].value))
        ui.tableWidget.setItem(j-1 , 3, QtWidgets.QTableWidgetItem(ws2["D"+str(j)].value))

注意:excel表(ws2)包含所有必要的信息,所以没有问题。注 2:您可能需要知道我正在使用 openpyxl 在 excel 表中读取/写入。

标签: pythonpyqt5openpyxl

解决方案


我解决了这个问题!

我只是放在ws2["A"+str(j)].value里面str()

def refreshTable():
    ui.tableWidget.setRowCount(0)
    for j in range(1,ws2.max_row+1):
        ui.tableWidget.insertRow(ui.tableWidget.rowCount())
        ui.tableWidget.setItem(j-1 , 0, QtWidgets.QTableWidgetItem(str(ws2["A"+str(j)].value)))
        ui.tableWidget.setItem(j-1 , 1, QtWidgets.QTableWidgetItem(str(ws2["B"+str(j)].value)))
        ui.tableWidget.setItem(j-1 , 2, QtWidgets.QTableWidgetItem(str(ws2["C"+str(j)].value)))
        ui.tableWidget.setItem(j-1 , 3, QtWidgets.QTableWidgetItem(str(ws2["D"+str(j)].value)))

推荐阅读