伙计们,我知道这个问题已经有了一些线索,但是我认为我没有犯其他导致问题的错误。所以这是我的代码:
#include "consolerender.h"
consoleRender::consoleRender(QObject *parent) :
QObject(parent) {
connect(Enviroment::instance, &Enviroment::enviromentChanged,
this, &consoleRender::renderField);
}
标题:
class consoleRender : public QObject
{
Q_OBJECT
public:
explicit consoleRender(QObject *parent = 0);
public slots:
void renderField();
};
还有环境。h
class Enviroment : public QObject
{
Q_OBJECT
public:
static Enviroment& instance();
virtual ~Enviroment();
//stuff...
signals:
void enviromentChanged();
我已经尝试在单独的类中进行连接,我尝试使用旧的连接语法(SIGNAL / SLOT(function)),并尝试使用>> all <<我的类继承自QObject,但显示出相同的结果错误。它还表示该函数需要3个参数但得到4个参数,并且似乎指向connect(... renderField)。我听说可以在MainWindow类中完成所有这些操作的解决方案,但这对我来说不是一个选择。
答案 0 :(得分:0)
您必须传递实例指针:
connect(&Enviroment::instance(), &Enviroment::enviromentChanged,
this, &consoleRender::renderField);