poltergeist
как?
В моей модели все узлы дерева являются дочерними узлами корневого. Все узлы, включая корневой - экземпляры TreeItem. Сам корневой узел не имел индекса и не отображался в QTreeView. Проблема решилась, когда я создал index для корневого узла. После этого корневой узел стал отображаться и при изменениях в структуре дерева оно больше не сворачивается.
На всякий случай вот пример TreeItem
class TreeItem(Entity):
def data(self):
return self.name
def child(self, row):
return self.children
def childCount(self):
return len(self.children)
def row(self):
if self.parent:
return self.parent.children.index(self)
return 0
def __repr__(self):
return ‘<TreeItem: %s>’ % self.name