【问题标题】:QT connect no matching function to call toQT连接没有匹配的函数来调用
【发布时间】:2018-09-05 21:00:51
【问题描述】:

大家好,我知道这个问题已经有一些线索,但我认为我没有犯其他人犯的导致问题的错误。所以这是我的代码:

#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

【问题讨论】:

  • 天哪,你是我的英雄!非常感谢!

标签: c++ function qt connect qobject


【解决方案1】:

你必须传递实例指针:

connect(&Enviroment::instance(), &Enviroment::enviromentChanged,
        this, &consoleRender::renderField);

【讨论】:

    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2014-11-24
    相关资源
    最近更新 更多