crossplatform.ru

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

> QThread && QProcess
DEADHUNT
  опции профиля:
сообщение 28.12.2009, 21:03
Сообщение #1


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

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

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




Репутация:   2  


class StreamReader : public QThread {
        SomeClass *someClass;
    protected:
        void run()
        {
            for (;; )
            {
                while (!someClass->process.canReadLine())
                    QThread::yieldCurrentThread();
                QString str = QString(someClass->process.readLine());
                qDebug() << "read stdout" << str;
             }
        }
    public:
        StreamReader(SomeClass *someClass);
};

class SomeClass {

StreamReader streamReader; // создаётся в конструкторе передаётся this

QProcess process;

void some_method()
{
    process.start(...);
    process.waitForStarted(INT_MAX);
    streamReader.start(); // Thread

    for (;; ) /* QApplication::processEvents() */;
};

если расскоментировать processEvents то сообщения от программы выводятся, а если нет то StreamReader ничего не считыват. в чём может быть проблема?

Сообщение отредактировал DEADHUNT - 28.12.2009, 21:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 25.4.2024, 14:16