[英]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.