起因:在一个纯C++类中想加入一个槽函数,于是继承QObject类,写上了Q_OBJECT声明
class A : QObject
{
Q_OBJECT
public:
A();
private slots:
void onRefres();
};但编译报错,Object::connect: No such slot,难道此类还没有成为QObject?
解决方法:新建类,基类选择QObject,自动生成的类如下
头文件
#ifndef AAAAA_H
#define AAAAA_H
#include <QObject>
class aaaaa : public QObject
{
Q_OBJECT
public:
explicit aaaaa(QObject *parent = nullptr);
signals:
public slots:
};
#endif // AAAAA_H源文件
#include "aaaaa.h"
aaaaa::aaaaa(QObject *parent) : QObject(parent)
{
}那么,照葫芦画瓢,想要使用信号槽,你的类像它一样就OK了


鄂公网安备 42018502001427号
发表评论