Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt, C++] No such slot MyClass::replyFinished(QNetworkReply*)

Ostatnio zmodyfikowano 2013-06-15 21:26
Autor Wiadomość
look997
Temat założony przez niniejszego użytkownika
» 2013-06-13 22:24:25
Próbowałem, nawet nie wiem jak tego użyć.

P-85542
sajmon
» 2013-06-13 22:42:27
Zrobiłem przykład na jakimś przykładowym JSON (nadal nie wiem co to jest xd) znalezionym w necie:
C/C++
QString s;
QFile data( "test.txt" );
if( data.open( QFile::ReadOnly ) ) {
    QTextStream in( & data );
    s = in.readAll();
}

QByteArray arr;
arr.append( s );

QJsonDocument * doc = new QJsonDocument();
QJsonParseError * error = new QJsonParseError();

doc->fromJson( arr, error );

qDebug() << doc->isEmpty() << doc->isObject();
qDebug() << error->errorString();

Wynik:
true false
"no error occurred"

Mam nadzieję, że rozjaśni Ci to sprawę :)
P-85543
look997
Temat założony przez niniejszego użytkownika
» 2013-06-13 23:29:40
Dokładnie to samo mi zwraca.
Gdzie indziej jest problem.
Ale gdzie?
P-85546
DejaVu
» 2013-06-13 23:34:22
Mam wrażenie, że nie Ty w ogóle nie rozumiesz co chcesz osiągnąć i jak działają narzędzia, których próbujesz użyć. Skoro dokument jest pusty (true), to nie może być to obiekt (więc dostajesz false). Błędu również żadnego nie ma bo dokument prawidłowo został sparsowany. Poza tym skoro skompilowałeś kod i Ci działa to problem postawiony w temacie został rozwiązany.
P-85547
look997
Temat założony przez niniejszego użytkownika
» 2013-06-14 14:55:00
To akurat prawda, przynajmniej nie do końca.

C/C++
QByteArray ByteArray = reply->readAll();
QJsonDocument * qjdoc = new QJsonDocument;
QJsonObject * ssss = new QJsonObject;

qjdoc->fromJson( ByteArray );
ssss = qjdoc->object(); // ta linijka nie działa
qDebug() << qjdoc->isObject();

Myślałem, że ta niedziałająca linijka sprawi, że będę mógł odnosić się do elementów json.
Jak to zrobić? Ani nie potrafię czytać dokumentacji QT ani używać tego ani za bardzo C++.
P-85554
sajmon
» 2013-06-14 15:07:44
Nie wiem czemu ale taki kod zwraca co innego na tym samym QByteArray
C/C++
QJsonDocument d2 = QJsonDocument::fromJson( arr );
qDebug() << d2.isEmpty();
qDebug() << d2.toJson();
P-85555
look997
Temat założony przez niniejszego użytkownika
» 2013-06-14 16:09:27
Największy problem w tym, że nie ma prostego przykładu użycia w Internecie. Mogę tylko liczyć na pomoc z forum.
P-85559
look997
Temat założony przez niniejszego użytkownika
» 2013-06-14 23:07:16
Jak to jest, że  ssss = qjdoc->object(); zwraca taki błąd:
cannot convert 'QJsonObject' to 'QJsonObject*' in assignment

Ale jeśli odnoszę się do tego jakby był QJsonObject, to zwraca, że qjdoc jest QJsonDocument?
P-85618
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona