<div dir="ltr">I just found a strange behavior in QTableView, which seems to be present in both PyQt 4.12 and 5.7.1 at least.<div>When an item has rowspan set and that row is hidden via setRowHidden, a "ghost" text of the hidden item is still visible between the remaining visible rows.</div><div>I suppose it can be a Qt bug, but I'd prefer to be sure before reporting it.</div><div><br></div><div>I'm attaching screenshots (I hope that's not a problem, they're very small) and this is a sample code to test it with:</div><div><br></div><div><div>class Table(QtWidgets.QWidget):</div><div>    def __init__(self):</div><div>        QtWidgets.QWidget.__init__(self)</div><div>        layout = QtWidgets.QVBoxLayout()</div><div>        self.setLayout(layout)</div><div>        self.table = QtWidgets.QTableView()</div><div>        layout.addWidget(self.table)</div><div>        self.model = QtGui.QStandardItemModel()</div><div>        self.table.setModel(self.model)</div><div>        self.check = QtWidgets.QCheckBox('show')</div><div>        layout.addWidget(self.check)</div><div>        self.check.setChecked(True)</div><div>        self.check.toggled.connect(self.toggle)</div><div>        for row in range(10):</div><div>            if row & 1:</div><div>                item = QtGui.QStandardItem('will hide')</div><div>                self.model.appendRow(item)</div><div>                if row != 1:</div><div>                    self.table.setSpan(row, 0, 1, 2)</div><div>            else:</div><div>                item = QtGui.QStandardItem('keep visible')</div><div>                item2 = QtGui.QStandardItem('item')</div><div>                self.model.appendRow([item, item2])</div><div><br></div><div>    def toggle(self, state):</div><div>        if state:</div><div>            for row in range(self.model.rowCount()):</div><div>                self.table.setRowHidden(row, False)</div><div>        else:</div><div>            for row in range(self.model.rowCount()):</div><div>                if row & 1:</div><div>                    self.table.setRowHidden(row, True)</div><div><br></div><div><br></div><div>Every even row will be shown/hidden when toggling the checkbox, the only difference is that the second row doesn't has a span set, and the issue doesn't happen.</div><div><br>Can anyone confirm this, please?</div><div><br></div><div>Thanks,</div><div>MaurizioB</div><div><br></div>-- <br><div class="gmail_signature">È difficile avere una convinzione precisa quando si parla delle ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi<br><a href="http://www.jidesk.net" target="_blank">http://www.jidesk.net</a></div>
</div></div>