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

所以基本上我从QPushButton继承,我想在课堂上处理信号。 我还推广了我想要这个新课程的按钮。

所以我做了:

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

handleButton存在并被声明为公共槽。 但是,当我点击按钮时,什么也没有发生。

我将插槽更改为位于mainWindow内的位置函数,并且令人惊讶,它起作用! 显然它只在我尝试在继承类中用作插槽的方法时拒绝工作!


要解决这个问题,只需将Q_OBJECT宏添加到继承的类中即可。

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

链接地址: http://www.djcxy.com/p/39297.html

上一篇: Cannot setup Inherited class's method as slot for click signal

下一篇: Show a QWidget after pressing a button