跟着教程学习QT, 第一个对象树就出现bug,自己建立一个QPushButton的类,
#ifndef MYPUSHBUTTON_H
#define MYPUSHBUTTON_H
#include <QPushButton>
class MyPushButton:public QPushButton
{ Q_OBJECT
public:
MyPushButton(QWidget *parent);
~MyPushButton();
};
#endif // MYPUSHBUTTON_H
#include "mypushbutton.h"
#include <QDebug>
MyPushButton::MyPushButton(QWidget *parent):QPushButton(parent)
{ qDebug()<<"HELLO WORLD";}
MyPushButton::~MyPushButton()
{
qDebug()<<"BYE WORLD";
}
建立好类之后,在Widget.cpp中添加按钮:
MyPushButton *btn2=new MyPushButton(this);
btn2->setParent(this);
btn2->setText("MY Button");
btn2->move(200,100);
结果一直提示:
MyPushButton是一个无法解析的外部符号!
解决方案:
打开.pro文件,
QT += core gui后面添加QPushButton的父类,widgets,也就是
QT += core gui widgets,qmake一下,再运行,成功!