Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Caduceus от Январь 22, 2009, 00:24



Название: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Caduceus от Январь 22, 2009, 00:24
Только сел за изучение QT (ну в связи сосменой лицензии :) ) - поэтому звиняйте если вопрос тупой и не посылайте в MSD... тьфу, в Assistnant.

 Так вот, хочу, изучая QT, замутить простенький, но необычный файловый менеджер. Поиграв со всякими контролами и виджетами быстро вышел на то, что существует некий QDirModel  и его отображение через List и Tree.  Примитивную функциональность файлового менеджера делается на ура за минуту, но хочется не этого

Так вот, следущий вопрос. Захочу я включить в список папок некие FTP узлы и локальные компы - это можно будет сделать? Захочу я тянуть контектсное меню на файлах и папках из Explorer-а - это возможно? Захочу я файлы EXE рисовать красным и с иконками, DOC файлы сними и без иконок, а tmp файлы чтоб вообще неотображались - это возможно? Захочу я чтоб около ZIP файлов появлялась галочка (ну мало ли :) ) - это возможно? Захочу в ListView выставить режим Thumbnail (для препросмотра картинок)  - это возможно?

Вот перечислил всякие извраты - скажите возможно ли это все сделать унаследовавшись от стандартных  QListView и QTreeView или надо забить с таким извратом на QDirModel и делать все самому руками?

Спасибо


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: xintrea от Январь 22, 2009, 01:05
В первую очередь читай вот это http://doc.crossplatform.ru/qt/4.4.3/model-view-model.html#basic-concepts (http://doc.crossplatform.ru/qt/4.4.3/model-view-model.html#basic-concepts). Без понимания сего концепта с деревом работать будет сложно.

Так вот, следущий вопрос. Захочу я включить в список папок некие FTP узлы и локальные компы - это можно будет сделать?
Да.

Захочу я тянуть контектсное меню на файлах и папках из Explorer-а - это возможно?
Скорее да, чем нет. Но придется видимо с winapi повозиться, чтоб вытягивать контекстное меню експлорера.

Захочу я файлы EXE рисовать красным и с иконками
Да.

DOC файлы сними и без иконок,
Да.

а tmp файлы чтоб вообще неотображались - это возможно?
Да.

Захочу я чтоб около ZIP файлов появлялась галочка (ну мало ли :) ) - это возможно?
Да.

Захочу в ListView выставить режим Thumbnail (для препросмотра картинок)  - это возможно?
Эээээ... Да!

Вот перечислил всякие извраты - скажите возможно ли это все сделать унаследовавшись от стандартных  QListView и QTreeView или надо забить с таким извратом на QDirModel и делать все самому руками?
Эти извраты как раз и делаются в QTreeView (не в QTreeWidget). Наследуйся от QTreeView и пиши свой функционал.


Но лучше забей на затею создания очередного файлового менеджера, их щас как говна. Лучше тоталкомандера всёравно не сделаешь, а делать полурабочу GUI тулзу бессмысленно. Придумай себе лучше проект поменьше, и доведи его до конца. Тогда ты хоть в каком то виде освоишь Qt и поймешь, нужен ли он тебе.


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Dendy от Январь 22, 2009, 01:39
...их щас как г...

У вас в слове "грязи" четыре опечатки.


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: kirill от Январь 22, 2009, 06:06
Я как раз подобным извратом и занимаюсь.
QFileSystemModel мне нравится больше QDirModel. и 2 представления в QListView и QTreeView.
Если что обращайся, чем смогу помогу.


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Caduceus от Январь 22, 2009, 10:32
Спасибо всем отвечившим. Копаю дальше.
2xintrea - спасибо, успокоил :)
2kirill - спасибо, если во что-то упрусь и ни туды ни сюды - обязательно спрошу

Вообще я шароварщик, но пока что-то застой идей, которые дейтсвительно будут продаваться - ну чтоб не простаивать в застое - решил изучить QT и сделать фриварный файловый менеджер (кстати, есть несколько идеек, котороые не сделаны нигде, но которые будут удобными) - ну не нужен будт никому - так фиг с ним - я делаю просто чтоб изучить QT


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: kirill от Январь 22, 2009, 13:05
шароварщик готов к своей программе на Qt прикладывать кутовые библиотеки на 15 мб?


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Caduceus от Январь 22, 2009, 13:22
QCore+QGui либы весят 5 мегов в незапакованном виде и 3 мега запакованные в инсталлятор. Я этот момент перво-наперо изучил, думаю + 3 метра за такие возможности не страшно


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: break от Январь 22, 2009, 13:38
Цитировать
кстати, есть несколько идеек, котороые не сделаны нигде

Приведи пример - не верю!


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Caduceus от Январь 22, 2009, 13:41
Ну вот сделаю - увидите. ;)

 К тому же я имел ввиду, что я не видел нигде в тех менеджерах, что я смотрел. Но их дейтсивлоьно много - мож где и есть по одной идейке где - а я хочу все вместе собрать

Я не ставлю своей целью сместить с ранка FAR и Total. Сделаю, выложу, не вложу ни цента в ракрутку. Основная задача - разобраться в QT


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: kirill от Январь 22, 2009, 13:57
QCore+QGui либы весят 5 мегов в незапакованном виде и 3 мега запакованные в инсталлятор. Я этот момент перво-наперо изучил, думаю + 3 метра за такие возможности не страшно

Странные у тебя либы
QtGui4.dll - 6,93 MB (7 270 400 bytes)
QtCore4.dll - 1,92 MB (2 023 424 bytes)

уже имеем почти 9 мегов
run-time студии еще + полмега
потянешь Xml, Sql + еще полметра

уже 10 мегов имеем.
Хотя в принципе у меня они ужались до 4х метров.


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: kirill от Январь 22, 2009, 14:01

Я не ставлю своей целью сместить с ранка FAR и Total.

Разработчики Far и Total облегченно выдохнули. :-))


Название: Re: Гибка ли связка QDirModel-QListView-QTreeView????
Отправлено: Caduceus от Январь 22, 2009, 14:03
Ну да, такие размеры. InnoSetup Запаковывает как раз в 4 - думаю не страшно

Да ладно издеваться-то.  :(