Size: a a a

2020 December 12

AS

Anatoly Shirokov in Qt
источник

NM

Nastya Medveda in Qt
Спасибо!
источник

NM

Nastya Medveda in Qt
Сейчас у меня есть QAbstractItemModel, которая содержит данные и ссылающаяся на нее QSortFilterProxyModel, которая определяет сортировку и фильтрацию данных в таблице.
Я правильно поняла, что мне нужно добавить QIdentityProxyModel которая бы тоже ссылалась на QAbstractItemModel чтоб настроить отображение данных?
источник

AS

Anatoly Shirokov in Qt
Nastya Medveda
Сейчас у меня есть QAbstractItemModel, которая содержит данные и ссылающаяся на нее QSortFilterProxyModel, которая определяет сортировку и фильтрацию данных в таблице.
Я правильно поняла, что мне нужно добавить QIdentityProxyModel которая бы тоже ссылалась на QAbstractItemModel чтоб настроить отображение данных?
Можно так, а можно отнаследоваться от qsortfilerproxymodel и переопределить data и выполнить конвертацию
источник

NM

Nastya Medveda in Qt
Anatoly Shirokov
Можно так, а можно отнаследоваться от qsortfilerproxymodel и переопределить data и выполнить конвертацию
Спасибо. Еще один момент хочу понять прежде чем имплементировать.

В  унаследованном QSortFilterModel есть переписанный метод lessThan, который сравнивает данные из sourceModel.
Если я переопределю data в QSortProxyModel, то метод lessThan будет брать данные с переопределенного data  или использовать данные из sourceModel?
источник

NM

Nastya Medveda in Qt
А! Я ведь смогу указывать брать данные из SourceModel или из this
источник

AS

Anatoly Shirokov in Qt
Nastya Medveda
Спасибо. Еще один момент хочу понять прежде чем имплементировать.

В  унаследованном QSortFilterModel есть переписанный метод lessThan, который сравнивает данные из sourceModel.
Если я переопределю data в QSortProxyModel, то метод lessThan будет брать данные с переопределенного data  или использовать данные из sourceModel?
Там source индексы, поэтому там data source. Но в вашем случае, это не изменит порядок сортировки
источник

NM

Nastya Medveda in Qt
Спасибо большое за помошь! ProxyModel оказалась гораздо сложнее для понимания чем я надеялась.
источник

AS

Anatoly Shirokov in Qt
Nastya Medveda
Спасибо большое за помошь! ProxyModel оказалась гораздо сложнее для понимания чем я надеялась.
Поскольку класс на себя взял несколько обязанностей и фильтрацию и сортировку.
источник

B

BAHR in Qt
Anatoly Shirokov
Поскольку класс на себя взял несколько обязанностей и фильтрацию и сортировку.
Анатолий, а в этом случае с точки зрения архитектуры как лучше быть??? Речь о том что с одной стороны: один класс - одна обязанность, а с другой если для каждой обязанности создать свою прокси модель, то на выходе получим не серьезное падение производительности...
источник

AS

Anatoly Shirokov in Qt
BAHR
Анатолий, а в этом случае с точки зрения архитектуры как лучше быть??? Речь о том что с одной стороны: один класс - одна обязанность, а с другой если для каждой обязанности создать свою прокси модель, то на выходе получим не серьезное падение производительности...
В данном случае, это оправданное усложнение, чтобы не плодить две разные сущности и связывать их цепочкой.
источник

NM

Nastya Medveda in Qt
Переписанная в QSortFilterProxyModel data позволила отображать все как нужно, но сортировка перестала работать 🙂
источник

NM

Nastya Medveda in Qt
У меня есть ощущение, что сортировка работает, но моментально переписывается значениями из нового метода data
источник

AS

Anatoly Shirokov in Qt
А как сортировка могла сломаться? Там же линейная зависимость при конвертации
источник

NM

Nastya Medveda in Qt
Выделенная строка при сортировке меняет положение в таблице, но данные не двигаются.
источник

NM

Nastya Medveda in Qt
у меня ощущение, что сортируется дата из sourceModel, а отображается из QSortFilterProxy
источник

MM

Mikhail Mikhail in Qt
порекомендуйте что почитать по теме OpenGL для начинающих
источник

AS

Anatoly Shirokov in Qt
Nastya Medveda
у меня ощущение, что сортируется дата из sourceModel, а отображается из QSortFilterProxy
Ну да, прокси же связывается с  видом
источник

NM

Nastya Medveda in Qt
Ой, и как это починить?
источник

AD

A D in Qt
Anatoly Shirokov
@NariGear  язык чата русский, специфическое общение на родном языке в личке
А как же языковой барьер, человек орехов обещал...
Гугл транслейт подтвердит
)))
источник