Russian Qt Forum
Ноябрь 24, 2024, 04:15
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
фильтрация и сортировка в отдельном потоке
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: фильтрация и сортировка в отдельном потоке (Прочитано 6444 раз)
demaker
Птица говорун
Offline
Сообщений: 962
фильтрация и сортировка в отдельном потоке
«
:
Сентябрь 01, 2016, 07:46 »
Скажите. Можно ли вынести фильтрацию или сортировку
данных модели в отдельный поток к примеру с помощью
QtConCurrent.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #1 :
Сентябрь 02, 2016, 08:43 »
Не возражаю
Записан
demaker
Птица говорун
Offline
Сообщений: 962
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #2 :
Сентябрь 02, 2016, 12:26 »
Цитата: Авварон от Сентябрь 02, 2016, 08:43
Не возражаю
А как ?
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #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
Сообщений: 480
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #4 :
Сентябрь 02, 2016, 15:26 »
Я так понял вопрос про
QSortFilterProxyModel
речь идет. Как то совсем смутно представляю, как это сделать можно.
Записан
Код
C++ (Qt)
while
(
!
asleep
(
)
)
sheep
++;
demaker
Птица говорун
Offline
Сообщений: 962
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #5 :
Сентябрь 02, 2016, 16:00 »
Цитата: Racheengel от Сентябрь 02, 2016, 12:56
Или с помощью QThread можно, там надо метод run() переопределить.
Т.е вы предлагайте прокси модель создавать в отдельном и выполнять там сортировку
Записан
demaker
Птица говорун
Offline
Сообщений: 962
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #6 :
Сентябрь 02, 2016, 16:30 »
Цитата: Kurles от Сентябрь 02, 2016, 15:26
Я так понял вопрос про
QSortFilterProxyModel
речь идет. Как то совсем смутно представляю, как это сделать можно.
да согласен
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #7 :
Сентябрь 03, 2016, 13:49 »
Цитата: Kurles от Сентябрь 02, 2016, 15:26
Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках?
Записан
Kurles
Бывалый
Offline
Сообщений: 480
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #8 :
Сентябрь 03, 2016, 17:40 »
Цитата: __Heaven__ от Сентябрь 03, 2016, 13:49
Цитата: Kurles от Сентябрь 02, 2016, 15:26
Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках?
И как ее прикрутить к QSortFilterProxyModel? Функция
bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к
filterAcceptsRow(...)
относится. Если я не прав, пните в нужном направлении =)
Записан
Код
C++ (Qt)
while
(
!
asleep
(
)
)
sheep
++;
demaker
Птица говорун
Offline
Сообщений: 962
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #9 :
Сентябрь 03, 2016, 18:51 »
Цитата: Kurles от Сентябрь 03, 2016, 17:40
Цитата: __Heaven__ от Сентябрь 03, 2016, 13:49
Цитата: Kurles от Сентябрь 02, 2016, 15:26
Как то совсем смутно представляю, как это сделать можно.
А как насчёт сортировки блоками в потоках?
И как ее прикрутить к QSortFilterProxyModel? Функция
bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к
filterAcceptsRow(...)
относится. Если я не прав, пните в нужном направлении =)
Я так понимаю что при использовании проксимодели сортировку или фильтрацию не реально вынести в отдельный поток.
«
Последнее редактирование: Сентябрь 03, 2016, 19:10 от demaker
»
Записан
Bepec
Гость
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #10 :
Сентябрь 03, 2016, 19:15 »
Насколько я помню, всё общение с model сделано через сигнал слоты. Насчет прокси не уверен - я им не пользовался.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: фильтрация и сортировка в отдельном потоке
«
Ответ #11 :
Сентябрь 05, 2016, 17:18 »
Цитата: Kurles от Сентябрь 03, 2016, 17:40
И как ее прикрутить к QSortFilterProxyModel? Функция
bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
, отвечающая за алгоритм сортировки, вызывается вьюхой в потоке, в котором живет GUI. То же самое и к
filterAcceptsRow(...)
относится. Если я не прав, пните в нужном направлении =)
Метод sort виртуальный. Судя по документации, можно его переопределить и дёргать вручную.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...