Hi,<div><br></div><div>i am having problems wrapping my head around on how to modify a model of a Qtree i have set up. my model consists out of a few children under root and each child has some children of it&#39;s own. to start of with i followed the simpleTreeModel example and got to the stage where my model gets correctly displayed. what i would like to do now is with a button trigger an update to the model and only displaying one of the items for example.</div>
<div><br></div><div>here are part of my codes. but really it&#39;s based on the simpleTreeExample</div><div><br></div><div><div>class TreeModel(QtCore.QAbstractItemModel):</div><div>&nbsp;&nbsp; &nbsp;def __init__(self, data, parent=None):</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;QtCore.QAbstractItemModel.__init__(self, parent)</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rootData = []</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rootData.append(QtCore.QVariant(&quot;Object&quot;))</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rootData.append(QtCore.QVariant(&quot;File 1&quot;))</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rootData.append(QtCore.QVariant(&quot;File 2&quot;))</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.rootItem = TreeItem(rootData)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.setupModelData(data, self.rootItem)</div><div><br></div><div>..............</div>
<div>.</div><div>.</div><div>.</div><div><br></div><div><div>def data(self, index, role):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if not index.isValid():</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return QtCore.QVariant()</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if role != QtCore.Qt.DisplayRole:</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return QtCore.QVariant()</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;item = index.internalPointer()</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return QtCore.QVariant(item.data(index.column()))</div><div><br></div><div>..</div>
<div>..</div><div>..</div><div><div>def setupModelData(self, data, parent):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;parents = []</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;parents.append(parent)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for object in sorted(data.keys()):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData = []</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(object)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(data[object][0])</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(data[object][1])</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;adbItem = TreeItem(columnData, parents[-1])</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;parents[-1].appendChild(adbItem)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for each in data[object][2][0].keys():</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData = []</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(each)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(data[object][2][0][each])</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;columnData.append(data[object][2][1][each])</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;adbItem.appendChild(TreeItem(columnData, adbItem))</div><div><br></div><div>thanks in advance</div><div><br></div><div>sven</div></div>
</div></div>