squalyl (./1209) :
est ce que je pourrais avoir un exemple *simple* avec deux classes écrites à la main, l'une contenant un signal et l'autre un slot, et non basées sur des widgets, et un exemple d'appel?
class1.h:
#include <QObject>
class Class1 : public QObject {
Q_OBJECT
public:
Class1(QObject *parent = 0) : QObject(parent) {}
void foo(void);
signals:
void signal1(int x);
};class1.cpp:
#include "class1.h"
void Class1::foo(void)
{
emit signal1(123);
}class2.h:
#include <QObject>
class Class2 : public QObject {
Q_OBJECT
public:
Class2(QObject *parent = 0) : QObject(parent) {}
public slots:
void slot1(int x);
};class2.cpp:
#include "class2.h"
void Class2::slot1(int x)
{
Q_UNUSED(x);
}main.cpp:
#include "class1.h"
#include "class2.h"
#include <QCoreApplication>
int main(int argc, char **argv)
{
QCoreApplication *app = new QCoreApplication(argc, argv);
Class1 *obj1 = new Class1();
Class2 *obj2 = new Class2();
obj2->connect(obj1, SIGNAL(signal1(int)), SLOT(slot1(int)));
obj1->foo();
delete obj1;
delete obj2;
delete app;
return 0;
}