错误:
signals下的函数无法识别,类似于只声明没有定义。但是并不是这个原因。
原因:
我在创建类时通过自己添加QMainWindow父类,所以没有在类声明的顶部添加Q_OBJECT。
比如下图,添加之后就可以了。
#ifndef PLAYSCENE_H
#define PLAYSCENE_H
#include <QMainWindow>
class PlayScene : public QMainWindow
{
Q_OBJECT //需要添加这个
public:
PlayScene(int index); //有参构造,参数代表当前关卡号
int levelIndex; //成员属性 记录当前关卡
//绘图事件
void paintEvent(QPaintEvent *);
signals:
//点击返回按钮自定义信号
void chooseSceneBack();
};
#endif // PLAYSCENE_H
说明:
所有包含signals和slots的类必须包含Q_OBJECT在声明的顶部,而且必须继承自QObject(直接或者间接)
参考资料:
文章指出,在Qt编程中,如果类使用signals和slots,必须包含Q_OBJECT宏并在类声明中继承自QObject。一个示例是修复了由于缺少Q_OBJECT而导致的函数未识别的问题。修复方法是在类声明中添加Q_OBJECT。
2446

被折叠的 条评论
为什么被折叠?



