引言:運行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 //若要使用信號槽就必須加入此宏
...
...
}