C++ Qt自定义小部件错误
我试图在Qt中创建简单的自定义小部件(名为DingButton,继承自QPushButton)。 我成功了。它可以在Qt设计器中看到。但当我编译包含此自定义小部件的项目(名为DingDemo)时,我得到一个错误: 对'DingButton::DingButton(QWidget*)的未定义引用 它指向ui_DingDemo.h中的下一个代码:C++ Qt自定义小部件错误,c++,qt,C++,Qt,我试图在Qt中创建简单的自定义小部件(名为DingButton,继承自QPushButton)。 我成功了。它可以在Qt设计器中看到。但当我编译包含此自定义小部件的项目(名为DingDemo)时,我得到一个错误: 对'DingButton::DingButton(QWidget*)的未定义引用 它指向ui_DingDemo.h中的下一个代码: class Ui_DingDemo { public: DingButton *dingbutton; void setupUi(QWid
class Ui_DingDemo
{
public:
DingButton *dingbutton;
void setupUi(QWidget *DingDemo)
{
if (DingDemo->objectName().isEmpty())
DingDemo->setObjectName(QString::fromUtf8("DingDemo"));
DingDemo->resize(226, 97);
dingbutton = new DingButton(DingDemo); //<---------error here
编辑:
DingButton::DingButton(QWidget*)已实现您必须实现在发生错误的行中调用的此构造函数
DingButton(QWidget *widget = 0);//In your DingButton class
DingButton::DingButton(QWidget *widget) : QWidget(widget) //In your .cpp
{
}
DingButton::DingButton(QWidget*)实现了吗?@KeillRandor是的,DingButton::DingButton(QWidget*)实现了编辑应该是DingButton::DingButton(QWidget*widget):QWidget(widget)要正确继承父项。oops忘记了这一部分,你当然是对的。谢谢
DingButton(QWidget *widget = 0);//In your DingButton class
DingButton::DingButton(QWidget *widget) : QWidget(widget) //In your .cpp
{
}