2021-10-08

QT QObject::connect: No such signal QDialogButtonBox::clicked(QAbstractButton * btn) in F:\qt_vs_occ\occ-cax\OCCTcam\ToolMagazineNewToolDialog.cpp:53报错

	QDialogButtonBox* buttonBox = new QDialogButtonBox(this);
	QPushButton* determineButton = buttonBox->addButton("确定", QDialogButtonBox::YesRole);
	QPushButton* cancelButton = buttonBox->addButton("取消", QDialogButtonBox::NoRole);
	QPushButton* helpButton = buttonBox->addButton("帮助", QDialogButtonBox::HelpRole);
	connect(buttonBox, SIGNAL(clicked(QAbstractButton * btn)), this, SLOT(determineBtnClicked(QAbstractButton * btn)));
	//connect(buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(determineBtnClicked(QAbstractButton*)));

问题解释:帮助文档上这个类有此信号,但使用的时候会报"No such signal"的错误

解决方式:重新将connect信号槽写一遍。

因为如果是直接像我一样,从qt帮助文档中复制的某个类的信号函数,那么在connect函数中,clicked的形参会是以这种形式存在"QAbstractButton * btn";如果是自己编写的connect函数,而没有通过复制,那么此处clicked的形参会是以这种形式存在"QAbstractButton* btn",两者不同在于,指针符号前面有没有空格,有空格的话就会报错,没有空格才是正确的。因此,遇到这种明明帮助文档上这个类有这个信号,运行的时候却报没有此信号的错误的时候,可以自己重新编写一下connect函数试一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值