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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QThread. Как грамотно перенести все в поток?  (Прочитано 3546 раз)
AAXEE
Гость
« : Сентябрь 23, 2009, 21:45 »

Есть виджет со слотом slowMethod()( который сначала был fastMethod() ).
Его работа подвешивает приложение.
Как правильно добавить поток к уже существующему коду?
1)Внутри класса виджета добавить поток. В run() засунуть вызов slowMethod(), а потом создать в основном виджете еще один слот который запускает поток?
2)Или вырезать код из slowMethod()  в run(), добавив ко всему "parent->", а в методе slowMethod() запускать поток?

Хотелось бы с пояснением почему именно так, а не иначе.
Спасибо!
Записан
BRE
Гость
« Ответ #1 : Сентябрь 23, 2009, 21:54 »

Посмотри в сторону QtConcurrent.
Записан
AAXEE
Гость
« Ответ #2 : Сентябрь 23, 2009, 22:08 »

Спасибо, смотрю. Только пока не понимаю как это можно сделать.
А все таки, если с потоками, как лучше поступить?
Записан
BRE
Гость
« Ответ #3 : Сентябрь 23, 2009, 22:32 »

Спасибо, смотрю. Только пока не понимаю как это можно сделать.
А все таки, если с потоками, как лучше поступить?
Про первый вариант не особо понял, но все виджеты должны жить и работать в главном потоке (обязательно!).
А второй вариант возможен, при вызове слота, в нем создается и запускается поток, который делает всю работу.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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