Signal chaining (a signal connected to another signal) could also be one possibility.
class MainWindow
{
public:
MainWindow(...)
{
SomeClass* some = new SomeClass(...);
connect(some, SIGNAL(somethingHappened()), this, SLOT(doSomething());
}
private slots:
void doSomething()
{
...
}
}
class SomeClass
{
public:
SomeClass(...)
{
AnotherClass* another = new AnotherClass(...);
connect(another, SIGNAL(somethingHappened()), this, SIGNAL(somethingHappened()));
}
signals:
void somethingHappened();
}
class AnotherClass
{
signals:
void somethingHappened();
}
class MainWindow
{
public:
MainWindow(...)
{
SomeClass* some = new SomeClass(...);
connect(some, SIGNAL(somethingHappened()), this, SLOT(doSomething());
}
private slots:
void doSomething()
{
...
}
}
class SomeClass
{
public:
SomeClass(...)
{
AnotherClass* another = new AnotherClass(...);
connect(another, SIGNAL(somethingHappened()), this, SIGNAL(somethingHappened()));
}
signals:
void somethingHappened();
}
class AnotherClass
{
signals:
void somethingHappened();
}
To copy to clipboard, switch view to plain text mode
Bookmarks