LINUX.ORG.RU

опять злостчастный QThread... не получатеся, не лажу я с ним...


0

0

все сделал вроде как надо, и в pro файл добавил строчку...

а не работает зараза все равно...

в файле form.ui.h написал

#include <qthread.h>

#include <iostream.h>

#include<stdio.h>

class Thread : public QThread {

public:

Thread();

void run()

{

while (!stopped)

cout << "Test";

stopped = false;

cout << endl;

}

void stop()

{

stopped = true;

}

QString messageStr;

volatile bool stopped;

};

Thread::Thread()

{

stopped = false;

}

void Form::threadSlot()

{

class Thread;

Thread ad;

ad.start();

}

слот threadSlot у меня public.... замаялся , при компиляции выдает ошибку

form.ui.h: In member function &#8216;virtual void Form::threadSlot()&#8217;: form.ui.h:147: error: aggregate &#8216;Form::threadSlot()::Thread ad&#8217; has incomplete type and cannot be defined


void Form::threadSlot()

{

----> class Thread;

ты зачем это написал дарагой?

и что это за строчка в .pro файле? Если используеш qt-designer, то он все нормально сделает, не надо ничего ручками ковырять.

W98
()
Ответ на: комментарий от W98

если я это не впишу он выдает другую злостную ошибку

form.ui.h: In member function &#8216;virtual void Form::threadSlot()&#8217;:

form.ui.h:145: error: expected `;' before &#8216;ad&#8217;

form.ui.h:145: error: statement cannot resolve address of overloaded function

form.ui.h:146: error: &#8216;ad&#8217; was not declared in this scope

а в .pro вписал CONFIG += thread

iliz
() автор топика
Ответ на: комментарий от iliz

а) вынеси объявление класса Thread в отдельный файл
б) сделай Thread ad либо глобальной переменной, либо Thread* членом класса Form (ибо локальная переменная поток - это вообще-то бред если подумать)

W98
()
Ответ на: комментарий от W98

УРА!!!!!!!!!!! оно заработало!!!!!!!!!!!!!!!!!!!! йес, йес, йес..... :))))))))))))))))))))))

СПАСИБО!!! пасиб, пасиб,пасиб,пасиб. мя счастлив :)))))))) теперь буду думать как из потока данные (текст) пихать в QTextEdit :))))

iliz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.