Russian Qt Forum

Qt => Общие вопросы => Тема начата: sja от Декабрь 10, 2007, 13:15



Название: Поток или процесс?
Отправлено: sja от Декабрь 10, 2007, 13:15
добрый день всем!
В цикле крутится обработчик данных с компорта, как мне вывести в обычный label на форме?
я пишу:

      ui->label->setText(str);

и всё бы нормально, но иногда почему-то выскакивает
QObject: Cannot create children for a parent that is in a different thread. и иксы падают :(

поток я создал сначала через pthread, потом через qthread
class MyThread : public QThread
{
     Q_OBJECT

protected:
     void run();
};

Притом на одной машине работает нормально, а на второй падают иксы...
В чем моя ошибка? заранее спасибо.


Название: Re: Поток или процесс?
Отправлено: pastor от Декабрь 10, 2007, 14:12
В чем моя ошибка? заранее спасибо.

Ошибка в том, что вы обращаетесь к гую не из гуевого потока. Используёте сигнал\слот или эвенты для обмен аданными между гуевым и вторичными потоками.


Название: Re: Поток или процесс?
Отправлено: sja от Декабрь 10, 2007, 14:44
Спасибо! Через сигнал/слот всё отлично работает!