Я пытался понять, как очистить tableWidget, чтобы добавить новый контент. Приведенный ниже фрагмент показывает виджет и способ добавления информации. Однако каждый раз, когда я обновляю его, вместо того, чтобы очищать экран, он скорее добавляет дополнительную информацию. Любая помощь будет оценена по достоинству.

Благодарность

   def addNewContent(results):
        header = self.tableWidget.horizontalHeader()
        self.tableWidget.clearContents()

        header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
        numrows = len(results)
        numcols = len(results[0])

        self.tableWidget.setRowCount(numrows)
        self.tableWidget.setColumnCount(numcols)

        for row in range(numrows):
            for column in range(numcols):
                self.tableWidget.setItem(row, column, QTableWidgetItem((str(results[row][column]))))

    addNewContent(results)
0
dka 12 Янв 2020 в 18:14
1
Предоставьте минимальный воспроизводимый пример, измените self.tableWidget.clearContents() на self.tableWidget.clear()
 – 
eyllanesc
12 Янв 2020 в 18:17

2 ответа

Я много искал эту проблему, и единственное решение, которое я придумал, заключалось в том, чтобы вызвать model.clear() и затем снова установить метки заголовков.

0
Matin Ebrahimkhani 31 Дек 2020 в 02:38

Я думаю, что проблема в результате переменной, я считаю, что это список, поэтому все, что вам нужно сделать, это повторно инициализировать его, а затем добавить его с новыми значениями где-нибудь в вашем коде

0
repo ospi 4 Мар 2021 в 16:15