Найти - Пользователи
Полная версия: Bag? collapse после сортировки в QTreeView
Начало » GUI » Bag? collapse после сортировки в QTreeView
1
avalanche
Использую QAbstractItemModel в связке с QSortFilerProxyModel которая отображается QTreeView. В proxy установлена опция setDynamicSortFilter(True)

Когда модель посылает сигнал layoutChanged(), происходит сортировка, НО QTreeView делает collapse всех открытых узлов дерева.

Как это пофиксить?
avalanche
Проблема решена
poltergeist
как?
avalanche
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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB