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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Возврат результата из потока по завершении. Как?  (Прочитано 3688 раз)
smartchecker
Гость
« : Декабрь 01, 2011, 23:51 »

Как вернуть в GUI результат из потока.
Поток формирует QList.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Декабрь 02, 2011, 00:11 »

Через общую переменную (например член класса-потока/класса-воркера) или через сигнал-слот.
Для сигнала-слота (автоматического или через очередь) с большой вероятностью надо будет зарегистрировать мета-тип.
« Последнее редактирование: Декабрь 02, 2011, 00:13 от LisandreL » Записан
smartchecker
Гость
« Ответ #2 : Декабрь 02, 2011, 10:09 »

Интересует сигнал-слот.
Хочется чтобы по сигналу finished() из потока в GUI приехал рез-тат.
Как бы это реализовать?
Записан
Bepec
Гость
« Ответ #3 : Декабрь 02, 2011, 10:16 »

Прочитать Шлее система Сигнал слотов.

в *.h
signals:
    void finished(int Row, QString name, myStruct struct);

в *.cpp
    emit finished(0, "Имя Имячко мое", struct);
Записан
fuCtor
Гость
« Ответ #4 : Декабрь 16, 2011, 08:38 »

А почему бы не воспользоваться методами из QtConcurrent, например QtConcurrent::run + QFutureWatcher.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Декабрь 16, 2011, 15:25 »

Интересует сигнал-слот.
Хочется чтобы по сигналу finished() из потока в GUI приехал рез-тат.
Как бы это реализовать?
Лучше этого не получать - можно нажить много проблем. Проще и лучше действовать как сказал LisandreL
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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