Здравствуйте, пытаюсь передать значение из одного потока в другой. Но компилятор пишет, что не находит слот. Что делаю не так?
thread.h:
#include <QThread>
class thread : public QThread
{ Q_OBJECT
public:
thread();
int value;
void run()
{ for (int i=0; i<10; i++)
{
value = i;
emit send_value (value);
}
}
signals:
void send_value (int);
};
window.h:
#include <QMainWindow>
#include <QDebug>
class window : public QMainWindow
{
Q_OBJECT
public:
window();
public slots:
void print (int g)
{
qDebug() << g << "\n";
}
};
main.cpp:
#include <QApplication>
#include "window.h"
#include "thread.h"
int main (int argc, char *argv[])
QApplication a (argc,argv);
window win;
thread obj;
QObject::connect (&obj, SIGNAL ( send_value(int) ), &obj , SLOT ( print(int) ));
win.show();
obj.start();
return a.exec();
}
опечатка :) все работает
QObject::connect (&obj, SIGNAL ( send_value(int) ),
&obj &win , SLOT ( print(int) ));