<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hello,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I encountered an issue with PyQt 5.10.1, where if i have a QTreeWidget with sorting enabled, adding a QTreeWidgetItem causes the width to double. (Or at least increase)</p>
<p style="margin-top:0;margin-bottom:0">This only happens in PyQt 5.10.1. (Tested 5.9 and 5.10, where this does not happen). If i disable the sorting, it will not increase the width of the widget. I have not been able to install 5.11 because i can't load the
 site, nor is it on pypi yet, so i don't know if it's fixed in that version. Provided is a minimal example to prove my issue:</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">##############</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div><br>
</div>
<div>from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication</div>
<div>from PyQt5.QtCore import pyqtSignal</div>
<div><br>
</div>
<div><br>
</div>
<div>class Tree(QTreeWidget):</div>
<div>    sendItem = pyqtSignal(QTreeWidgetItem)</div>
<div><br>
</div>
<div>    def __init__(self):</div>
<div>        super().__init__(parent=None)</div>
<div><br>
</div>
<div>        self.setSortingEnabled(True)  # Remove or set to False to get pore 5.10.1 behaviour</div>
<div><br>
</div>
<div>        item = QTreeWidgetItem(self)</div>
<div>        item.setText(0, 'test test test test test test test test test test test test testtesttesttest')</div>
<div><br>
</div>
<div>        self.itemClicked.connect(self.add_item)</div>
<div><br>
</div>
<div>    def add_item(self, _, __):</div>
<div>        item = QTreeWidgetItem(self)</div>
<div>        item.setText(0, 'broken')</div>
<div><br>
</div>
<div><br>
</div>
<div>if __name__ == '__main__':</div>
<div>    app = QApplication([])</div>
<div>    a = Tree()</div>
<div>    a.show()</div>
<div>    app.exec_()</div>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
######################
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Simply run and click the item with text, and it will add another item to the tree. If sorting is enabled, width will change, if not, it won't. In earlier versions, width is unchanged regardless of sorting. </p>
<p style="margin-top:0;margin-bottom:0">Anyone know, can test, or happen to know possible workaround if this is a problem in 5.11 too? </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">My OS is windows 10, and python version is 3.6.5 64-bit.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Thomas. </p>
<p style="margin-top:0;margin-bottom:0"></p>
</div>
</body>
</html>