Название: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: Caduceus от Январь 26, 2009, 17:11 Вот например мождель QFileSystemModel и два вида QListView. Я хочу чтоб в одном обображались только папки, а в другом только файлы. Что надо сделать в модели или в видах?
Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: ритт от Январь 26, 2009, 17:27 в видах установить фильтрацию. если виды фильтрацию не поддерживают, воспользоваться Q*ProxyModel
Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: kirill от Январь 26, 2009, 18:24 Виды фильтрацию не поддерживают. Ее поддерживают модели, но делают это крайне криво.
Почитай мой пост на эту тему http://www.prog.org.ru/topic_8424_0.html (http://www.prog.org.ru/topic_8424_0.html) Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: ритт от Январь 26, 2009, 19:24 виды фильтрацию поддерживают - равно как и сортировку. а вот модели поддерживают только фильтрацию исходных данных.
и не стОит говорить про кривость этой-самой фильтрации, прикрываясь найденной багой в сравнительно молодой модели... Caduceus, смотри QSortFilterProxyModel и examples/itemviews/dirview Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: Caduceus от Январь 26, 2009, 23:34 Хммм, сделал. И у папок в дереве пропали крестики :(
FilesTreeFilterModel* treeFilter = new FilesTreeFilterModel(this); treeFilter->setSourceModel(model); treeView->setModel(treeFilter); QModelIndex idx = treeFilter->mapFromSource(model->index(QDir::rootPath()) ); treeView->setRootIndex(idx); Тут уже спрашивали про это - но ответа не было Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: kirill от Январь 27, 2009, 05:50 Крестики - это что? Плюсики штоли?
treeView->setRootIsDecorated(true); не помогает? Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: Caduceus от Январь 27, 2009, 10:46 Да, крестики - это плюсики
Нет, не помагает Есть мысль по этому поводу. Я использую QFileSystemModel - и он вроде для ускорения работы не заполняет папку, пока та не раскрыта - то есть он не знает, есть что в папке или нет? Эту мысль подтверждает то, что крестик-плюсик таки появляется, если на папку кликнуть и во втором виде показывается её содержимое - вот после этого крестик у этой папки появляется Как разрулить-то? Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: kirill от Январь 27, 2009, 11:22 Может все таки воспользоваться QDirModel?
Название: Re: Как сделать чтоб разные представления тянули из одной модели разные части? Отправлено: Caduceus от Январь 27, 2009, 11:40 Да чё-т склоняюсь все больше к тому что свою модель и виды писать надо. Для примитивной работы с файлами и папками - QFileSysytem и QDirModel подходят идеально. Но чуть шаг влево , шаг вправо с необычным функцилоналом - и все, расстрел
|