Название: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 10, 2012, 16:15 создал свою прокси модель на QSortFilterProxyModel
если некий модель данный на основании запроса. необходимо произвести сортировку данных, то так к примеру чтобы первые 3 позиции из модели не сортировались а сортировались начиная с 4-ой записи. прошу подсказки как что копать? Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: mutineer от Июнь 10, 2012, 16:24 http://doc.crossplatform.ru/qt/4.7.x/html-qt/qsortfilterproxymodel.html#lessThan
Переопредели и сортируй как хочешь Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 10, 2012, 16:44 сорри а можно подсказать как.
там же тока возвращается либо истина либо ложь. а как сказать что "ты вот этот индекс не бери" и ничего с ним не делай? Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: mutineer от Июнь 10, 2012, 16:56 айтем с позицией 1 больше(меньше) всех остальных
айтем с позицией 2 больше(меньше) всех, кроме 1 айтем с позицией 3 больше(меньше) всех, кроме 1,2 остальные сравниваются по общим правилам Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: GreatSnake от Июнь 10, 2012, 16:57 Для того чтобы определённый элемент был в начале, для left возвращай true, а для right false.
Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: Igors от Июнь 10, 2012, 17:12 айтем с позицией 1 больше(меньше) всех остальных Не совсемайтем с позицией 2 больше(меньше) всех, кроме 1 айтем с позицией 3 больше(меньше) всех, кроме 1,2 Код
Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 10, 2012, 18:20 айтем с позицией 1 больше(меньше) всех остальных Не совсемайтем с позицией 2 больше(меньше) всех, кроме 1 айтем с позицией 3 больше(меньше) всех, кроме 1,2 Код
непонимаю. отображаю модель в QTablView. добавил возможность сортировки по нажатию на название колонки. повторил код. никаких изменений не увидел. при нажатии на название колонки. сортировка не изменилась, вернее сортируется так же как и без данного кода. Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: Igors от Июнь 10, 2012, 18:45 при нажатии на название колонки. сортировка не изменилась, вернее сортируется так же как и без данного кода. Значит надо поставить breakpoint в отладчике и убедиться что добавленный код получает управлениеНазвание: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 10, 2012, 18:48 то то и оно что получает, но не сортирует.
понимаю что чудес не бывает - но факт Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: Igors от Июнь 11, 2012, 09:59 то то и оно что получает, но не сортирует. Выкладывайте минимальный проект, будем разбиратьсяпонимаю что чудес не бывает - но факт Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 12, 2012, 01:20 примет из теста , добавил стою модель.
при нажатии сортировки по колонке. сортируется все , хотя в модели указано чтобы три первых строки не трогать. может я чего не так делаю или хочу Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: Igors от Июнь 12, 2012, 03:09 примет из теста , добавил стою модель. Полагаю "пример" и "свою" :) Ладно. возьмите оригинал (customfilterproxymodel пример) и вставьте текст в начало lessThan. Запустите пример и покликайте с одной колонки на другую - первые 3 строки "стоят" (Petra, Rolf. Linda). Меняете порядок сортировки - строки убегают. Тогда такпри нажатии сортировки по колонке. сортируется все , хотя в модели указано чтобы три первых строки не трогать. может я чего не так делаю или хочу Код Ну а как Вы изнасиловали пример и где потеряли половину записей - то уже сами разбирайтесь Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 12, 2012, 11:13 а в этом примере который Вы сказали - все работает.
ладно буду разбираться почему у меня не работает. СПАСИБО. Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 12, 2012, 12:28 Код Ну а как Вы изнасиловали пример и где потеряли половину записей - то уже сами разбирайтесь В общем получается следующее. что если на модель наложен фильтр, то данный код не работает. Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: Igors от Июнь 12, 2012, 13:05 В общем получается следующее. Я спокойно отношусь к тому что мог ошибиться в коде - нет проблем. Но зачем говорить "не работает" если работает? Введите фильтр Petra|Rolf|Linda|Andy|Scott - первые 3 вверху. Напомню что Вы писаличто если на модель наложен фильтр, то данный код не работает. необходимо произвести сортировку данных, то так к примеру чтобы первые 3 позиции из модели не сортировались а сортировались начиная с 4-ой записи. Если все первые 3 отфильтрованы - ну никто и не будет всегда сверху Название: Re: QSortFilterProxyModel как правильно организовать сортироку Отправлено: slava_d200 от Июнь 13, 2012, 19:02 Я прошу прощения, если Вас обидел - сорри. Я не хотел.
наоборот я Вам очень признателен за помощь. |