Название: Странное использование QAbstractProxyModel Отправлено: burunduk от Январь 13, 2008, 00:27 может кто знает что тут делается :)
в частности не очень ясно такое использование QAbstractProxyModel метод из примера Qt treemodelcompleter: Код: void MainWindow::highlight(const QModelIndex &index) Название: Re: Странное использование QAbstractProxyModel Отправлено: Kainit от Январь 14, 2008, 11:33 Не поручусь за всех но мне непонятно в чём странность использования..
Есть обычная QAbstractItemModel, над ней возводится QAbstractProxyModel (например, для фильтрации данных и для сортировки), Разумеется, вьюв работает не с QAbstractProxyModel , а с QAbstractItemModel. proxyModel->setSourceModel(model); sourceView->setModel(model); Именно поэтому мы пытаемся сначала сделать qobject_cast и если он не проходит, делаем if (!proxy) return; затем нам нужно из проксёвого индекса получить индекс исходной модели QModelIndex sourceIndex = proxy->mapToSource(index); и выделить соответствующий айтем во вьюхе treeView->selectionModel()->select(sourceIndex, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows); мне кажется что всё вполне логично и оправданно, особенно если внимательно прочитать весь пример. Название: Re: Странное использование QAbstractProxyModel Отправлено: Emc от Январь 14, 2008, 12:45 тут дело немного в другом -- proxyModel как таковая не используется, а нужна лишь для получения индекса, который затем и выделяется в treeView.
|