La logica per utilizzare i byte (in la mia risposta precedente Ho proposto di usare base64 quindi lo uso anche in questo caso) per costruire una QPixmap che può essere convertita in una QIcon che può essere visualizzata nel QTableWidget:
for row_number, row_data in enumerate(rows):
self.ui.tableWidget.insertRow(row_number)
for column_number, column_data in enumerate(row_data):
it = QTableWidgetItem()
if column_number == 1:
pixmap = QPixmap()
pixmap.loadFromData(QByteArray.fromBase64(row_data))
icon = QIcon(pixmap)
it.setIcon(icon)
else:
it.setText(row_data)
self.ui.tableWidget.setItem(row_number, column_number, it)