def setModel(self, model: QAbstractItemModel): super().setModel(model) for row in range(model.rowCount()): for col in range(model.columnCount()): span = model.span(model.index(row, col)) if span.height() > 1 or span.width() > 1: self.setSpan(row, col, span.height(), span.width())