Russian Qt Forum
Апрель 25, 2024, 08:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: фильтрация и сортировка в отдельном потоке  (Прочитано 6096 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« : Сентябрь 01, 2016, 07:46 »

Скажите. Можно ли вынести фильтрацию или сортировку
данных модели в отдельный поток к примеру с помощью
QtConCurrent.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #1 : Сентябрь 02, 2016, 08:43 »

Не возражаю
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #2 : Сентябрь 02, 2016, 12:26 »

Не возражаю

А как ?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Сентябрь 02, 2016, 12:56 »

Или с помощью QThread можно, там надо метод run() переопределить.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #4 : Сентябрь 02, 2016, 15:26 »

Я так понял вопрос про QSortFilterProxyModel речь идет. Как то совсем смутно представляю, как это сделать можно.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #5 : Сентябрь 02, 2016, 16:00 »

Или с помощью QThread можно, там надо метод run() переопределить.

Т.е вы предлагайте прокси модель создавать в отдельном и выполнять там сортировку Непонимающий
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #6 : Сентябрь 02, 2016, 16:30 »

Я так понял вопрос про QSortFilterProxyModel речь идет. Как то совсем смутно представляю, как это сделать можно.

 В замешательстве да согласен
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #7 : Сентябрь 03, 2016, 13:49 »

Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках? Подмигивающий
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #8 : Сентябрь 03, 2016, 17:40 »

Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках? Подмигивающий
И как ее прикрутить к QSortFilterProxyModel? Функция bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к  filterAcceptsRow(...) относится. Если я не прав, пните в нужном направлении =)
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #9 : Сентябрь 03, 2016, 18:51 »

Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках? Подмигивающий
И как ее прикрутить к QSortFilterProxyModel? Функция bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к  filterAcceptsRow(...) относится. Если я не прав, пните в нужном направлении =)

Я так понимаю что при использовании проксимодели сортировку или фильтрацию не реально вынести в отдельный поток.
« Последнее редактирование: Сентябрь 03, 2016, 19:10 от demaker » Записан
Bepec
Гость
« Ответ #10 : Сентябрь 03, 2016, 19:15 »

Насколько я помню, всё общение с model сделано через сигнал слоты. Насчет прокси не уверен - я им не пользовался.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #11 : Сентябрь 05, 2016, 17:18 »

И как ее прикрутить к QSortFilterProxyModel? Функция bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к  filterAcceptsRow(...) относится. Если я не прав, пните в нужном направлении =)

Метод sort виртуальный. Судя по документации, можно его переопределить и дёргать вручную.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.084 секунд. Запросов: 22.