0
에서 작동하지 않습니다 : "받았다"신호 내가 이러한 코드가 파생 클래스
class A : public QObject
{
Q_OBJECT
public:
explicit A(QObject *parent = 0) : QObject(parent)
{
connect(&http, SIGNAL(done(bool)), this, SLOT(httpDone(bool)));
}
void sendRequest()
{
// ...
http.request(...);
}
public slots:
void httpDone(bool)
{
qDebug() << "recieved!";
}
protected:
QHttp http;
};
class B : public A
{
//...
void getSomething()
{
sendRequest();
}
};
class C : public A
{
//...
void getSomething()
{
sendRequest();
}
};
// and now do some stuff
B b;
C c;
b.getSomething();
c.getSomething();
를 그리고 하나가 콘솔의 메시지 b. 왜?
'B'와'C'의 생성자는 어떻게 생겼습니까? – Mat
완전한 예제를 게시해야합니다. 이렇게하면 적절한 이벤트 루프가 있는지 확인할 수 있습니다. –
파생 된 클래스에서 신호가 제대로 작동합니다. connect()에서 반환 코드를 확인하여 실수를 범한 경우 알려줍니다. –