crossplatform.ru

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

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Как правильно запустить несколько последовательных процессов?
RazrFalcon
  опции профиля:
сообщение 13.10.2011, 7:38
Сообщение #21


Zombie Mod
*****

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

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




Репутация:   212  


<_<
И что я должен исправить?!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 13.10.2011, 11:01
Сообщение #22


Профессионал
*****

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

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




Репутация:   44  


Цитата(RazrFalcon @ 13.10.2011, 8:38) *
<_<
И что я должен исправить?!


Thread::Thread(QObject *parent) :
    QObject(parent)
{
    curr = 0;

    proc = new QProcess( this );        // <<<<<<<<<<<< Здесь нужно указывать родителя. Иначе при перемещении объекта этого класса в рабочий поток, объект proc перемещен не будет!
    connect(proc,SIGNAL(readyRead()),this,SLOT(readOutput()));
    connect(proc,SIGNAL(finished(int)),this,SLOT(startNew()));

    startNew();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 13.10.2011, 13:16
Сообщение #23


Zombie Mod
*****

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

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




Репутация:   212  


Огромное спасибо! Теперь пашет.
И как я не мог до этого додуматься уже как 2-а месяца...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 17.10.2011, 16:33
Сообщение #24


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

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




Репутация:   8  



Цитата
Разве что:
bool QProcess::waitForFinished ( int msecs = 30000 )
приводит к зависанию главного окна, а не должен.


решается просто

while( !process->waitForFinished(10) )
qApp->processEvents(); // все потоки работают и GUI не виснет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 17:34