crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

RazrFalcon
  опции профиля:
сообщение 24.3.2012, 22:36
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Нужно при открытии дочернего окна произвести расчеты в отдельном потоке.
Но если в главном окне все нормально, то с дочерним какие-то проблемы.
1) Если наследовать QThread и в run писать обработку (без бесконечного цикла) - то при закрытии окна и не завершенном потоке прога падает.
2) Если делать moveToThread моего класса с расчетами (который прекрасно работает в главном окне) - то дочернее окно не появляется пока не закончатся расчеты.

Как в констрикторе дочернего окна создать поток?

Текущий вариант (2):
    QThread *thread = new QThread(this);
    search = new FileFinder(lineEditInDir->text(), chBoxRecursive->isChecked());
    connect(search, SIGNAL(finished(QFileInfoList)), this, SLOT(loadFinished(QFileInfoList)), Qt::QueuedConnection);
    search->moveToThread(thread);
    search->startSearch(); // подозреваю что тут то оно и не дает появится окну
    thread->start();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 2)
wiz29
  опции профиля:
сообщение 26.3.2012, 8:46
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


рекомендую почитать и разобраться тут
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 26.3.2012, 14:42
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Уже натыкался на нее. Много нового не узнал.

Текущую проблему решил вызовом сигнала из текущего класса в поток.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 28.5.2025, 22:07