Bonjour,
Je suis en train de réaliser une fonction pour récupérer le code source d'une page internet et j'utilise donc la méthode connect() pour s'assurer que la page a fini de charger avant de passer à la suite du code. Ce que j'aimerai faire, c'est écrire du code à la suite de la méthode connect (en gros mettre le code de la méthode connect à la suite) car j'aimerai renvoyer une QVariantList. Sauf que je ne voit pas ce que le slot pourrait renvoyer d'autre que void. Voila, j'espère avoir été assez clair.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
QVariantList TheMovieDB::search(const QString &title)
{
    api_mode="search/movie";
    api_queries="&fr&query=" + title;
    api_query=api_url+api_mode+api_key+api_queries;
    view->load(QUrl(api_query));
    QObject::connect(view, SIGNAL(loadFinished(bool)), this, SLOT(resultSearch(bool))); // là je peux rien mettre à la suite car il faut attendre que la page ait chargé
}
 
void TheMovieDB::resultSearch(bool)
{
    QString plainText = view->page()->currentFrame()->toPlainText();
    QJsonDocument document = QJsonDocument::fromJson(plainText.toUtf8());
    QJsonObject jsonObj = document.object();
    QJsonArray obj = jsonObj["results"].toArray();
 
    for(int i = 0; i < obj.count(); i++){ //il faudrait que le contenu de cette boucle soit renvoyé par la méthode search
        qDebug()<< obj[i].toObject()["title"].toString();
        qDebug()<< obj[i].toObject()["id"].toInt();
        qDebug()<< obj[i].toObject()["release_date"].toString();
    }
 
}
Merci pour votre aide.
Cordialement