Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++-Qt] Problemi con QVector e JSON

    salve!
    ho questa funzione che dovrebbe riempire un qvector con valori presi da una richiesta json:
    codice:
    QVector<QString> TakeFilm::take(QString film)
    {
        QVector<QString> vector;
        QNetworkAccessManager networkManager;
        QUrl url("http://www.imdbapi.com/?i=&t=" + film);
        QNetworkRequest request;
        request.setUrl(url);
        QNetworkReply* reply = networkManager.get(request);
        QString data = (QString) reply->readAll();
        QScriptEngine engine;
        QScriptValue result = engine.evaluate(data);
        QScriptValueIterator iterator(result);
        while(iterator.hasNext())
        {
            iterator.next();
            vector.append(iterator.value().toString());
        }
        return vector;
    }
    questa funzione la richiamo in nella finestra principale dove dovrei andare a riempire alcune caselle di testo con in valori del qvector:
    codice:
    void MainWindow::searchFilm()
    {
        TakeFilm film;
        QVector<QString> vectorFilms = film.take(ui->txtSearch->text());
        ui->txtTitle->setText(vectorFilms[0]);
    }
    il programma crasha:
    ASSERT failure in QVector<T>:perator[]: "index out of range", file /usr/include/QtCore/qvector.h, line 359
    The program has unexpectedly finished.

    avete qualche idea?

  2. #2
    ho provato anche così:
    codice:
    QVector<QString> TakeFilm::take()
    {
        QVector<QString> vector(0);
        QNetworkAccessManager networkManager;
        QUrl url("http://www.imdbapi.com/?i=&t=immaturi");
        QNetworkRequest request;
        request.setUrl(url);
        QNetworkReply *reply = networkManager.get(request);
        QString data = (QString) reply->readAll();
        QScriptEngine engine;
        QScriptValue result = engine.evaluate(data);
        QMessageBox msg;
        msg.setWindowTitle("ATTENCTION");
        const char *c = result.property("Title").toString().toLatin1();
        msg.setInformativeText(c);
        msg.exec();
        return vector;
    }
    e non in effetti che nel messagebox nn esce nessuna scritta.
    è probabile che nn funzioni bene la richiesta dei json suppongo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.