def sizeHint(self, option, index): options = QStyleOptionViewItem(option) gene_obj = index.data(Qt.DisplayRole) self.initStyleOption(options, index) doc = QTextDocument() doc.setHtml(gene_obj.to_html()) doc.setTextWidth(options.rect.width() - 10) return QSize(doc.idealWidth(), doc.size().height())