Seite 1 von 1

Typ-Konvertierung +++ Qstring to int +++

Verfasst: 27. September 2008 21:50
von MrBr
Liebe Community,

als Newbie in Sachen Qt-Programmierung versuche ich nun seit geraumer Zeit folgendes Problem zu lösen:

Ein User hat die Möglichkeit einen Pixelwert in ein QLineEdit einzugeben. Mittels QIntVallidator habe ich bereits sicherstellen können, dass ausschliesslich Zahlen von 0 bis 999 eingegeben werden können.
Das entsprechende Signal (editingFinished()) lässt sich ebenfalls problemlos ausführen. Schwierigkeiten bereitet mir jedoch der simple Anwendungsfall, dass ich den aus dem Textfeld mit Hilfe von text() herausgenommene Wert zur Weiterverarbeitung als int umwandeln will.

Code: Alles auswählen

QString string;
string = lineX1->text();
int temp = string; // schon klar - funktioniert nicht... Das soll aber der Effekt werden
Ich danke im Voraus für jede Hilfe!
- MfG (mrbr)

Verfasst: 27. September 2008 22:15
von -=Freaky=-
sowas hier -> http://doc.trolltech.com/4.4/qstring.html#toInt
... oder hab ichs falsch verstanden?

mfg,
julian

Verfasst: 28. September 2008 09:48
von MrBr
Hallo Julian,

vorab vielen Dank für Deine Antwort.

Ich befürchte jedoch, mit der von Dir genannten Lösung nicht weiter zu kommen. Abgesehen von den Schwierigkeiten, die ich habe, die Angaben in der Dokumentation entsprechend zu deuten, konvertiert 'toInt' meiner Ansicht nacht, Hexadezimalzeichen (also auch A-F) in entsprechende Dezimalzahlen.

In meinem Fall liegen allerdings ausschliesslich Dezimalzahlen vor, da ich ja bereits die Eingabemöglichkeit des Benutzers daraufhin ausgerichtet habe, dass ausschliesslich Ganzzahlen zwischen 0 und 999 eingegeben werden können.

MfG (Mr.Br)

Verfasst: 28. September 2008 09:51
von Christian81
Da also die Funktion mehr kann als Du benötigst benutzt Du sie nicht? Super Idee :)

Verfasst: 28. September 2008 09:53
von upsala
Sicher konvertiert es auch Hexadezimalzahlen, wenn man die entsprechende Basis vorgibt.

Verfasst: 28. September 2008 21:40
von MrBr
Vorab Vielen Dank für alle Antworten. Ich habe nicht richtig nachgelesen bzw. die Documentation nicht korrekt interpretiert.

Da brauche ich in jedem Fall noch Übung. Jetzt hab ich die richtige toInt-Funktion gefunden und es funktioniert wie ich es brauche.

Danke nochmal!
- MfG (Mr.Br)