QT——BUG:子类槽函数报错显示父类无此槽函数

遇到问题:在QT4.8中,出bug的代码如下,(相关的cpp文件的内容就不写了,问题不在cpp文件中)

//在父类的头文件中,继承了QWidget
class ParentsClass: public QWidget
{
	Q_OBJECT
public:		//这里我随便在父类建立两个按钮
    ParentsClass(QWidget *parent = 0);
    QPushButton *minButton;
    QPushButton *closeButton;
public slots:	//槽函数
    void minButtonClick();
    void closeButtonClick();
}

//在子类的头文件中,继承了父类ParentsClass
class Subclasspublic 
{
publicSubclass();
	QPushButton *TestButton;
public slots:
	void TestButtonClick()}

bug报错:父类中没有 TestButtonClick() 这个槽函数函数
解决方法:
步骤1、在工程的pro文件中加上下下面两句
OBJECTS_DIR = tmp
MOC_DIR = tmp

步骤2、在子类类的定义中加上Q_OBJECT,添加位置可参考上面实例代码中父类写Q_OBJECT的位置。

步骤3、(先编译一下,看一下会不会报错,不会报错就不用加上这一步骤)删除工程文件夹中的.Debug文件和.Release文件然后重新编译。可见下图所示。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/l1206715877/article/details/106190659