ich versuche mich grade an QThread und bekomm eine merkwürdige Fehlermeldung:
MainWidget.cpp:304: error: request for member ‘run’ in ‘((MainWidget*)this)->MainWidget::thread’, which is of non-class type ‘QThread*’
Mein Code sieht folgendermaßen aus:
Thread.cpp:
Code: Alles auswählen
#include<QThread>
#include<iostream>
#include<Thread.h>
#include<MainWidget.h>
Thread::Thread(QObject *parent) : QThread(parent)
{
stopped= false;
}
void Thread::run()
{
while(!stopped)
std::cout<< "hallo"<< std::endl;
}
//das hallo ist nur als Test, ob denn funktioniert
void Thread::stop()
{
stopped = true;
}
Code: Alles auswählen
#ifndef THREAD_H
#define THREAD_H
#include<QThread>
class Thread : public QThread
{
Q_OBJECT
public:
Thread (QObject *parent=0);
void stop();
private:
bool stopped;
protected:
void run();
};
#endif
Mein Widget halt also folgendes:
Code: Alles auswählen
QPushButton *start = new QPushButton("&Start");
start->setFont(QFont("Times", 15, QFont::Bold));
connect(start, SIGNAL(clicked()),this, SLOT(start()));
...........
QPushButton *pause = new QPushButton("&Break");
pause->setFont(QFont("Times", 15, QFont::Bold));
connect(pause, SIGNAL(clicked()), this, SLOT(stop()));
........
void MainWidget::start()
{
thread.run();
}
void MainWidget::stop()
{
thread.stop();
}
wo lieg ich denn falsch? Hab ich grundsätzlich schon einen Fehler drin??
Ich bin um jede Hilfe dankbar
LG