Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Добавление столбца в QFileSystemModel
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
RazrFalcon
сабж.
Уже второй день не пойму как это сделать <_<
insertColumn() вообще никакого эффекта не дает.
Я так понимаю что нужно сделать наследника от QFileSystemModel, а дальше снова ничего не ясно =/
Litkevich Yuriy
либо сделать наследника от QSortFilterProxyModel и воткнуть его между исходной моделью и представлением.
подробнее о своих моделях читай тут
RazrFalcon
Уже читаю.
RazrFalcon
Что я не пойму.
Нужно создать наследника от QFileSystemModel. Затем предопределить нужные мне функции.
Про это в статье и написано.
Но я не пойму что в них писать. В готовых примерах вообще не ясно откуда они берут этот код... <_<
Допустим я создаю наследника QAbstractItemModel, и мне нужно предопределить некоторые функиции, а я вижу только:
Цитата
insertRows() Эти функции разрешают модели автоматическую вставку новых данных используя существующую реализацию, предоставляемую QAbstractItemModel::dropMimeData().
insertColumns()
setData() Разрешает заполнять элементами новые строки и столбцы.
setItemData() Эта функция предоставляет более эффективную поддержку заполнения новых элементов.

А писать туда что? :(
Litkevich Yuriy
ну например, для insertRows() ты должен сделать что-то из-за чего модель пополнится новой строкой, т.е. когда к модели будут обращаться за кол-вом строк, она должна будет вернуть их адекватное кол-во, когда будут обращаться за данными data() для конкретной строки, она должна предоставить данные для запрашиваемой строки.

что ты хочешь держать в дополнительных столбцах?
RazrFalcon
То есть нужно тупо с нуля все писать?

>>что ты хочешь держать в дополнительных столбцах?
много чего =/
даже прогрессбары
Litkevich Yuriy
Цитата(RazrFalcon @ 15.7.2011, 1:31) *
даже прогрессбары
и что они буду отображать?
RazrFalcon
Размер папки, относительно общего размера раздела.

см. baobab
Хочу написать аналог для KDE. Ну и разобраться с моделями заодно.
Litkevich Yuriy
тогда тебе в модели нужно предусмотреть список этих величин (коэффициент размера так сказать). И для каждой конкретной строки в заданном столбце выдавать величину из списка. А вставка столбцов тебе не нужна.
RazrFalcon
То есть мне нужен наследник от QFileSystemModel?
А потом как то впихнуть новый столбец?
PS: я вообще ничего не понимаю :(


Не проще ли будет написать наследника QAbstractItemModel, который будет делать только то что мне нужно?


Не пойму еще вот что: где в QFileSystemModel, и в любой другой модели, хранятся сами данные?
Litkevich Yuriy
Цитата(RazrFalcon @ 20.7.2011, 17:58) *
Не проще ли будет написать наследника QAbstractItemModel, который будет делать только то что мне нужно?
а QFileSystemModel от кого унаследован?
RazrFalcon
От QAbstractItemModel :mellow:
Litkevich Yuriy
Цитата(RazrFalcon @ 21.7.2011, 12:26) *
От QAbstractItemModel
вот-вот.
Т.е. Есть QAbstractItemModel -> добавляем спец наворотов = QFileSystemModel -> добавляем ещё больше спец наворотов = Своя модель.

А ты хочешь унаследоваться от QAbstractItemModel и получить свою модель, т.е. тебе придётся ещё и навороты QFileSystemModel самому реализовать. Оно, конечно, познавательно, но наверно не стоит этого делать в большинстве случаев.
RazrFalcon
Цитата(Litkevich Yuriy @ 21.7.2011, 18:54) *
Цитата(RazrFalcon @ 21.7.2011, 12:26) *
От QAbstractItemModel
вот-вот.
Т.е. Есть QAbstractItemModel -> добавляем спец наворотов = QFileSystemModel -> добавляем ещё больше спец наворотов = Своя модель.

А ты хочешь унаследоваться от QAbstractItemModel и получить свою модель, т.е. тебе придётся ещё и навороты QFileSystemModel самому реализовать. Оно, конечно, познавательно, но наверно не стоит этого делать в большинстве случаев.

Согласен.
Но разобраться с моделью хочется. При том что натыкался на то, что типа QFileSystemModel довольно тормозной. Хотя у меня норм.

Возвращаясь к началу темы, можете привести, пожалуйста, пример кода, добавляющий столбец в QFileSystemModel.
Так как, как я уже писал выше, я ВООБЩЕ не пойму что, куда и зачем... :mellow:
Litkevich Yuriy
Цитата(RazrFalcon @ 21.7.2011, 22:35) *
Возвращаясь к началу темы, можете привести, пожалуйста, пример кода, добавляющий столбец в QFileSystemModel.
это и будет весь код модели, собственно. Т.е. я должен буду за тебя сделать всю работу.
Изучай пример "редактируемая модель дерева"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2021 IPS, Inc.