Я пытаюсь установить элементы pyqt5 Qtablewidget при загрузке страницы, используя вспомогательный класс и метод. Это мой код.
#ui - > UI mainwindow class
#examdetails -> a list of dictionaries (table from database)
def setExamRecords(self,ui,examDetails):
for rowIndex,exam in enumerate(examDetails):
for colIndex,key in enumerate(exam):
print(exam[key])
item = ui.tableWidget.item(rowIndex, colIndex)
item.setText(str(exam[key]))
return True
Однако это возвращает ошибку AttributeError: 'NoneType' object has no attribute 'setText'
нельзя ли установить элементы пользовательского интерфейса в отдельный класс, как это? Причина перехода к отдельному вспомогательному классу в основном состоит в том, чтобы уменьшить засорение кода в основном классе пользовательского интерфейса.
ui.tableWidget.setRowCount(50)
или вставить его при необходимости с помощьюui.tableWidget.insertRow(ui.tableWidget.rowCount())
. Я больше не могу помочь, потому что вы не предоставляете минимально воспроизводимый пример, я ограничиваюсь только тем, что вы показывать 26.02.2021