无法将继承类的方法设置为点击信号的插槽

时间:2015-12-05 23:27:38

标签: c++ qt signals slot

所以基本上我从QPushButton继承而且我想在类中处理信号。我还提升了我想要这个新班级的按钮。

所以我做了:

QObject::connect(ui->pickWatermarkButton, SIGNAL(clicked()),ui->pickWatermarkButton, SLOT(handleButton()));

handleButton存在并被声明为公共槽。但是,当我点击按钮时,没有任何反应。

我将插槽更改为位置函数,在mainWindow中,并且出乎意料,它有效!显然,当我尝试在继承的类中使用插槽方法时,它只会拒绝工作!

1 个答案:

答案 0 :(得分:0)

要解决此问题,只需将Q_OBJECT宏添加到您继承的类中。

如果你得到"未定义的引用vtable"编译错误,请确保定义了析构函数。如果它们仍然出现,请右键单击您的项目并选择"运行qmake",然后再次构建项目。