[Qt Anfänger] Datei öffnen mit Qt - anders als unter ANSI C++
-
Hallo,
öffne ich mit Qt anders als mit "ifstream" unter ANSI C++?
Ist "QFileOpenEvent" das richtige, und wenn ja, wie wird es angewandt? Vielleicht habt ihr ein kleines Beispiel, inkl. Einlesen von Zeilen (INTs, FLOATs, STRINGs).
-
Qt Assistant öffnen, dort nach QFile suchen und die Detailed Description lesen.
Wg. QFileOpenEvent:
Events haben mit Datei öffnen gar nichts zu tun. Das ist etwas ganz spezielles für Mac, weshalb auch dick drunter steht:Note: This class is currently supported for Mac OS X only.
-
Ich Danke Dir, das läuft soweit ganz gut!
Nun möchte ich vorerst die Zeilen aus der Datei in einem listWidget ausgeben:QFile file("C:\\Users\\Tobias\\qt\\rpg01\\in.txt"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return; QByteArray line; while (!file.atEnd()) { line = file.readLine(); } for(unsigned int i=1;i < sizeof(line); i++) { ui->listWidget->addItem(QString(line[i]); }
Mir fehlt der richtige Parameter / Funktion für QString. Wie kann ich line[i], welches mal int, mal string, mal float in der Datei ist, einfach in Text/String wandeln und ausgeben? Ich habe nun schon soviele Funktionen durch und auch gesucht, aber bisher läuft das nicht.
Ein Tipp?
-
Versuch es doch mal mit QTextStream statt QByteArray, dann kriegst du auch in jeder Zeile mit readLine() ein QString zurückgeliefert.
-
Könnte mir jemand mein komplettes Beispiel mit QTextStream korrigieren? Denn ich verstehe die Anwendung noch nicht ganz, denke aber, dass mit "in >> readLine()" gearbeitet wird, oder?
-
Lies doch bitte die Doku! Da ist bei QFile unter "Using Streams to Read Files" ein wunderbares Beispiel zu finden.