Qt继承自QPushButton的对象的clicked信号与定义的槽函数无法关联

btn::btn(QWidget*parent):QPushButton(parent){connect(this,SIGNAL(clicked()),this,SLOT... btn::btn(QWidget * parent) :

QPushButton(parent)
{

connect(this, SIGNAL(clicked()), this, SLOT(onClicked()));
}

然后运行时报QObject::connect: No such slot QPushButton::onClicked()
点击按钮onClicked()槽函数也没有执行
为什么会出现这样的情况?有什么方法解决这个问题?
展开
 我来答
besthelp
推荐于2017-10-03 · TA获得超过1057个赞
知道小有建树答主
回答量:376
采纳率:100%
帮助的人:387万
展开全部
  1. 是否添加了Q_OBJECT宏

    如:

    class btn: public QPushButton{ Q_OBJECT };
  2. 是否声明和定义了槽onClicked

    如:

    public slots:
             void onClicked();
追问
是因为没有添加Q_OBJECT宏 不报错了但是不知道为什么onClicked()为什么没有执行
private slots:
void onClicked();

void btn::onClicked()

{

this->hide();

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式