码迷,mamicode.com
首页 > 其他好文 > 详细

【QT】error: 'connect'/'sender' was not declared in this scope

时间:2020-07-10 21:13:02      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:not   方式   继承   目录   信号槽   cpp   错误   ref   contain   

引言:运行qt程序涉及到信号槽出现的错误。

1、error: ‘connect‘ was not declared in this scope

原因: 有可能是类中使用了信号槽,却未引入信号与槽的基类QObject

解决方法一: 将connect换成QObject::connect(注意:要在类中加入Q_OBJECT宏,使用信号与槽必须要加入Q_OBJECT宏。因为connect是静态成员,所以可以该方式解决)。

解决方法二: 类继承QObject

class MyTabWidget:public QObject
{
?? ?Q_OBJECT  //若要使用信号槽就必须加入此宏
?? ?...
    ...
}

2、error: ‘sender‘ was not declared in this scope

原因: 以上面一样。
解决方法: 因为sender是QObject类的保护成员,所以不能使用QObject::sender方法解决,要使用继承的方式解决。

class MyTabWidget:public QObject
{
?? ?Q_OBJECT  //若要使用信号槽就必须加入此宏
?? ?...
    ...
}

【QT】error: 'connect'/'sender' was not declared in this scope

标签:not   方式   继承   目录   信号槽   cpp   错误   ref   contain   

原文地址:https://www.cnblogs.com/lcgbk/p/13280999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!