Seite 1 von 1

[gelöst] QVariant aus einem QTextStream lesen

Verfasst: 4. November 2005 16:23
von klogg
Gibt es eine Möglichkeit mittels eines QTextStream
sowohl einen String wie auch eine Zahl aus einer Datei
in eine QVariant zu lesen OHNE zu wissen, was es ist?

HENNING

Re: QVariant aus einem QTextStream lesen

Verfasst: 7. November 2005 07:31
von macman
Ein QTextStream liefert dir einen Text, auch Zahlen werden als Text geliefert. Wenn Du nicht weißt wann eine Zahl kommt, wirst Du wohl den Text zerlegen und einzeln konvertieren müssen. Klappt die Konvertierung in eine Zahl ist es ok, ansonst ein String.

Du kannst auch mit QRegExp Zahlen aus dem String fischen und anhand des Ergebnisses weiter verfahren.

Es gibt also mehrere Möglichkeiten. Wenn genauer man weiß was kommen kann, desto einfacher wird es dann.

Verfasst: 7. November 2005 10:14
von klogg
Klingt vernünftig. Danke.
Ich werde dann wohl die gesamte Zeile lesen,
mit QString::split() zerlegen und dann auf jeden QString QString::toInt() anwenden.
Wenn das klappt, war es eine Zahl, wenn nicht, bleibt es bei einem QString.

HENNING

Verfasst: 7. November 2005 11:37
von macman
klogg hat geschrieben:dann auf jeden QString QString::toInt() anwenden.
Aber Vorsicht, besser QString::toInt(bool* ok) anwenden. Sonst bekommst Du Probleme, falls die Zahl eine 0 ist.

Verfasst: 7. November 2005 13:11
von klogg
Ja klar! Das meinte ich eigentlich auch.
Ich hatte nur keine Lust den ganzen Prototypen hinzuschreiben.
Trotzdem danke für den Tipp.

HENNING