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.
Merci pour votre aide.
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(); } }
Cordialement
Partager