Некоторые ячейки tableWidget не отображаются в PyQt5 - PullRequest
0 голосов
/ 27 мая 2020

Итак, я создаю tableWidget для отслеживания продаж в PyQt5.

Image Of The 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.

1 Ответ

0 голосов
/ 27 мая 2020

Я решил проблему!

Я просто поместил 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)))
...