Вы можете сделать это, просто создав слот в B
и делегировав туда функцию A
.
Вот пример:
#include <QtCore>
class A {
public:
A() {}
void foo() { qDebug() << "In A::foo()"; }
};
class B: public QObject, public A {
Q_OBJECT
public:
B(QObject *parent=0): QObject(parent), A() {
connect(this, SIGNAL(fire()), this, SLOT(foo()));
}
public slots:
void foo() {
qDebug() << "In slot B::foo()";
A::foo();
}
signals:
void fire();
public:
void test() { emit fire(); }
};
Класс A
didn 'не нужно вообще «знать» о Qt.