问题产生原因:通过connect连接一个信号到子类的一个槽函数却提示父类没有对应的槽函数。
作为小白自学QT,学习完信号槽后,心血来潮,赶紧写了一个,代码如下
animal.h
class Animal : public QObject
{
Q_OBJECT
public:
Parent(){};
~Parent(){};
};
class people : public Animal
{
public:
Child(){};
~Child(){};
public slots:
void sayHello();
};
main.c中相应绑定部分
people *man = new people();
QPushbutton *button = new QPushbutton();
QObject::connect(button,SIGNAL(clicked())
,man ,SLOT(sayHello()))
按我的想法,sayHello应该被触发,但是并没有触发
打了Log后发现如图问题
怎么回事?我明明创建的是people对象,怎么报错是 No such slot Animal::sayHello()呢
Animal类里肯定是找不到这个槽函数 ...
最终,终于在一篇文章中得到了解决方案
class Animal :