我有一个问题 - 如何将基类信号连接到继承的类槽。 我有一个像这样的代码
class A: public QObject
{
Q_OBJECT
public:
A(){}
void EmitSignal()
{
emit(Asignal());
}
signals:
void Asignal();
};
class B: public A
{
public:
B();
public slots:
void Bslot()
{
//dosmth
}
};
B::B()
{
connect(this, SIGNAL(Asignal()), this, SLOT(Bslot()));
}
int main(int argc, char *argv[])
{
B Bobject;
B.EmitSignal();
}
当我拨打B.EmitSignal()
时,我想要调用Bslot()
,但我在输出窗口中收到了一条消息
QObject :: connect:没有这样的插槽A :: Bslot()。
如何实现Bslot()
执行?
答案 0 :(得分:0)
找到解决方案。我忘记了继承类
中的Q_OBJECT宏