@mefest

Почему не соединяется сигнал со слотом?

Есть метод:
QNetworkReply* QVkApi::request(QString method, QVariantMap args)
{
    QString req ="https://api.vk.com/method/";
    req+=method+"?";
    for(auto arg = args.begin(); arg != args.end();arg++){
        req += "&"+arg.key()+"="+arg.value().toString();
    }
    req += "&access_token=" + token + "&v=5.53";
    QNetworkRequest reques(req);
    QNetworkReply* reply = _accessManager->get(reques);
    connect(reply, &QNetworkReply::finished,this, &QVkApi::onReply);
    return reply;
}


Далее в классе User он вызывается и соединяется со слотом
User::User(int id, QObject *parent) : AbstractEntity(id,parent)
{
    QVariantMap args;
    args["fields"] = "photo_50,city,verified";
    args["name_case"] = "Nom";
    reply = api->request("users.get", args);
    connect(reply, &QNetworkReply::finished, this, &User::onUpdate);
}

Но в классе User не вызывается связанный с ним слот(если прочитать QNetworkReaply после связывания то он пустой), хотя в классе QVkApi все прекрасно соединяется и работает.

заголовки классов:
user.h
#ifndef USER_H
#define USER_H

#include "abstractentity.h"

class User : public AbstractEntity
{
    Q_OBJECT

public:
    explicit User(int id, QObject *parent = 0);

signals:

public slots:
    void onUpdate();

};

#endif // USER_H


abstractentity.h
#ifndef ABSTRACTENTITY_H
#define ABSTRACTENTITY_H

#include <QObject>
#include <QNetworkReply>

#include "qvkapi.h"

class AbstractEntity : public QObject
{
public:
    explicit AbstractEntity(int id, QObject *parent = 0);

    int id;

    QNetworkReply* reply;
protected:
    QVkApi* api;

};

#endif // ABSTRACTENTITY_H


Почему не связывается сигнал со слотом в классе User?
Прошу помочь решить проблему или объясните пожалуйста где я туплю.
Заранее благодарен.
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
@vilgeforce
Раздолбай и программист
А в консоль что при connect пишется?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы