С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
1

QTreeView и QFileSystemModel

02.01.2015, 15:48. Показов 2978. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
у меня есть модель QFileSystemModel для отображения каталога проекта в QTreeView, как можно отображать не связанные с родителем другие каталоги, т.е. по сути мне надо выводить несколько разных деревьев друг под другом...
Как это реализовывать ПРАВИЛЬНО вот не знаю, посдкажите

Не по теме:

всех с Новым Годом)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
02.01.2015, 15:48
Ответы с готовыми решениями:

QFileSystemModel + QTreeView, не удаётся получить доступ начиная со второго уровня вложенности
Создаю модель QFileSystemModel, назначаю её на QTreeView. Пример на скриншоте:...

Qfilesystemmodel в linux
Здравствуйте скажите вот допустим когда я отображаю модель в линуксе model1=new...

QFileSystemModel+QListView
Доброго времени суток! Столкнулся со следующей проблемой: невозможно отпустить элемент(папку или...

QFileSystemModel долго грузиться
QFileSystemModel долго грузиться может я, что то делаю не так? QFileSystemModel *model; ......

6
Автор FAQ
2733 / 1429 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
02.01.2015, 20:55 2
Вроде никак, надо городить свою модель на основе QFileSystemModel
1
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
03.01.2015, 14:04  [ТС] 3
Цитата Сообщение от Чистый Посмотреть сообщение
Вроде никак, надо городить свою модель на основе QFileSystemModel
мб всётаки делегата своего делать, а не модель? а то я покапал в этом направлении немного и это жесть какая-то получится

Добавлено через 26 минут
или не делегата, а своё представление на основе QAbstractItemView
0
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
04.01.2015, 03:52 4
Цитата Сообщение от Чистый Посмотреть сообщение
Вроде никак, надо городить свою модель на основе QFileSystemModel
Ну допустим городить свою модель на основе QFileSystemModel врядли получится. Она судя по всему final(в ней не видно виртуальных функций, которые можно переопределить).
Цитата Сообщение от dzrkot Посмотреть сообщение
мб всётаки делегата своего делать, а не модель? а то я покапал в этом направлении немного и это жесть какая-то получится
Добавлено через 26 минут
или не делегата, а своё представление на основе QAbstractItemView
Я вообще с нуля модель писал на основе класса QAstractItemModel и ничего, там не особо много мучиться надо.
А делегаты - это совсем о другом. Да и переписывать View - это как операция на гландах через жопу. Подобное противоречит самой концепции Model-Veiw и скорее всего будет сопряжено с _внезапно_ возникшими трудностями.
Честно говоря советую отнаследоваться от QAstractItemModel или другой необходимой модели. В ней сделать список QList<QFileSystemModel *> и добавлять/удалять из него. Разумеется придётся переопределить все необходимые виртулаьные функции, чтобы нормально функционировало.
1
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
04.01.2015, 16:05  [ТС] 5
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Честно говоря советую отнаследоваться от QAstractItemModel или другой необходимой модели. В ней сделать список QList<QFileSystemModel *> и добавлять/удалять из него. Разумеется придётся переопределить все необходимые виртулаьные функции, чтобы нормально функционировало.
ну я стал сейчас городить свою модель на основе QAstractItemModel, в которой QListFileInfo содержит инфу о всех нужных файлах в папке. Сначала простую попробую, т.е. простой список, потом буду уже дерево делать, но пока всёравно не особо понимаю саму концепцию всего этого
0
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
04.01.2015, 18:20 6
Цитата Сообщение от dzrkot Посмотреть сообщение
ну я стал сейчас городить свою модель на основе QAstractItemModel, в которой QListFileInfo содержит инфу о всех нужных файлах в папке. Сначала простую попробую, т.е. простой список, потом буду уже дерево делать, но пока всёравно не особо понимаю саму концепцию всего этого
Ну вот сама концепция. Вот - пример реализации.

Скорее всего всё что вам потребуется в вашей модели - это пробросить вызов функций к подмоделям:
К примеру:
QList<QFileSystemModel *> fileModels;

Код
QModelIndex index(int row, int column,
                       const QModelIndex &parent = QModelIndex()) const
{
if (!parent.isValid()) {
    return fileModels.at(row)->index(0, column, parent);
int i = fileModels.indexOf(static_cast<QFileSystemModel *>(parent.model()));
return fileModels.at(i)->index(row, column, parent);
}
B т.д. и т.п. с переопределением остальных виртуальных функций.
1
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
05.01.2015, 00:40  [ТС] 7
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Ну вот сама концепция. Вот - пример реализации.
да курю эти маны уже пару дней, но...я пока сам свою модель не создам и не пройдусь вдоль и поперёк - не переварю это)
0
05.01.2015, 00:40
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
05.01.2015, 00:40
Помогаю со студенческими работами здесь

QFileSystemModel и особый фильтр
Возникла небольшая проблема, а именно, использую QFileSystemModel и отображаю в QTreeView (все...

QFileSystemModel и название ярылка
Добрый день! Создаю файловый менеджер (левая часть treeView правая listView) на Qt 5.4.1 (MSVC...

Изменение иконок QFileSystemModel
Возможно ли каким нибудь простым и лаконичным способом отображать свои(не системные иконки папок и...

Установка корневой директории в QFileSystemModel
Столкнулся с непонятной для меня проблемой. При попытке установить коневую директорию для модели...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru