Название: QTreeView, запомнить состояние Отправлено: UVV от Ноябрь 03, 2009, 10:04 Хотелось бы запоминать состояние treeView, чтобы при отображении в следующий раз уровень раскрытия веток был такой же.
Какие для этого есть методы? Название: Re: QTreeView, запомнить состояние Отправлено: spectre71 от Ноябрь 03, 2009, 10:23 Хотелось бы запоминать состояние treeView, чтобы при отображении в следующий раз уровень раскрытия веток был такой же. Какие для этого есть методы? Когда в следующий раз? Название: Re: QTreeView, запомнить состояние Отправлено: UVV от Ноябрь 03, 2009, 10:35 После удаления и повторного создания модели. У меня одно treeView используется для отображения двух моделей.
Хотя /me задумался... а стоит ли её вообще удалить, не проще ли держать её в памяти... Название: Re: QTreeView, запомнить состояние Отправлено: spectre71 от Ноябрь 03, 2009, 10:49 После удаления и повторного создания модели. У меня одно treeView используется для отображения двух моделей. Хотя /me задумался... а стоит ли её вообще удалить, не проще ли держать её в памяти... 1) Обычно не стоит удалять, но все зависит от конкретной задачи. В твоем случае удалять не надо. 2) К сожалению тролли не подумали о возможности хранении "Expanded" на уровне модели. QSet<QPersistentModelIndex> expandedIndexes; - в привате у QTreeView(QTreeViewPrivate) Поэтому прийдется самому сохранять список раскрытых веток(например на момент перед заменой модели, получаем через bool QTreeView::isExpanded ( const QModelIndex & index ) const) и восстанавливать через void QTreeView::setExpanded ( const QModelIndex & index, bool expanded ) после установки модели. Название: Re: QTreeView, запомнить состояние Отправлено: UVV от Ноябрь 03, 2009, 10:56 Код: bool QTreeView::isExpanded Название: Re: QTreeView, запомнить состояние Отправлено: spectre71 от Ноябрь 03, 2009, 11:05 Код: bool QTreeView::isExpanded Получается что так. Либо попросить троллей сделать соответствующую фичу. ;) |