我从QWidget派生出了一个类Inher,然后以这个类为基类又派生出一个类In,这是在槽的使用方面碰到了一些
问题。
Inher中的
数据成员有两个QPushButton,一个
QLabel。槽只写了一个pro1(),功能是点击按钮b1后在
label上显示"b1“。
In中
没有添加新的数据成员,新加了一个槽
pro(),功能是点击按钮b2后在label上显示"b2“。
不过这样做In中的槽起不到作用。
之后,我在Inher中添加了槽pro2(),用纯虚函数和虚函数分别试了两次(功能是空的),In中的pro2()就能起作用了。请问这样做哪里有问题?还是说Qt就是这样的,自己定义的基类的派生类中不能定义新槽?
基类代码如下:
class Inher : public QWidget
{
Q_OBJECT
public:
Inher(QWidget *parent = 0);
~Inher();
protected slots:
virtual void pro1();
virtual void pro2() = 0; // 该行注释掉时,功能不能运行
protected :
QPushButton * b1;
QPushButton * b2;
QLabel *label;
};