簡體   English   中英

QT沒有匹配功能連接到

[英]QT connect no matching function to call to

嗨,我知道這個問題已經有一些線索了,但是我認為我沒有犯其他導致問題的錯誤。 所以這是我的代碼:

#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();

};

和環境

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類中完成所有這些操作的解決方案,但這對我來說不是一個選擇。

您必須傳遞實例指針:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM