Hello,
{
Q_OBJECT
public:
Sender(int val) : mVal(val) { }
signal:
void intChanged(ChangeObject*);
public slots:
void changeInt(int i) {
mVal = i;
emit intChanged(new ChangeObject(mVal));
}
private:
int mVal;
};
{
Q_OBJECT
public:
Receiver();
public slots:
void onIntChanged(ChangeObject* c) {
mReceivedVal = c->changed();
}
private:
mReceivedVal;
};
class ChangeObject
{
public:
ChangeObject(int changed) : mChanged(changed) { }
int changed() const { return mChanged; }
private:
int mChanged;
};
class Sender : public QObject
{
Q_OBJECT
public:
Sender(int val) : mVal(val) { }
signal:
void intChanged(ChangeObject*);
public slots:
void changeInt(int i) {
mVal = i;
emit intChanged(new ChangeObject(mVal));
}
private:
int mVal;
};
class Receiver : public QObject
{
Q_OBJECT
public:
Receiver();
public slots:
void onIntChanged(ChangeObject* c) {
mReceivedVal = c->changed();
}
private:
mReceivedVal;
};
class ChangeObject
{
public:
ChangeObject(int changed) : mChanged(changed) { }
int changed() const { return mChanged; }
private:
int mChanged;
};
To copy to clipboard, switch view to plain text mode
Where to delete new created ChangeObject? in class Receiver? What about not handled signals with pointer parameter types? (like the Qt own signals that are not accepted ie e->accept() is not called in receiver object)
Thanks for any clarification
Bookmarks