stringToInt / intToString. Wie addiere ich zwei Zahlen und gebe sie als Label wieder aus? (QTCreator)
-
Alternativ geht es auch so:
QString zahl = QString::number(100);
Mehr dazu findest du in der Doku unter http://doc.trolltech.com/4.6/qstring.html#number
-
guenni81 schrieb:
Alternativ geht es auch so:
QString zahl = QString::number(100);
Mehr dazu findest du in der Doku unter http://doc.trolltech.com/4.6/qstring.html#number
Aber damit kann er doch nichts anfangen...
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1825513.html#1825513
Dann macht man ihn auf den Assistant aufmerksam und wird ignoriert - ein neuer Post muss her, diesmal wenigstens im richtigen Forum
-
hat alles funktioniert... dankeschön
jetzt weiß ich wie ich die zahlen ausgebe. aber wie muss es ausschen damit die zahl, die ich im edit feld eingegeben habe verwendet wird.Könnte mir jemand folgendes mal "übersetzen":
int zahl; cin >> zahl; //im textEdit Feld. cout << zahl; //im label
mfg
-
Für Zahlen nimmt man üblicherweise kein LineEdit, sondern eine QSpinBox (int) oder QDoubleSpinBox (double).
Funktioniert im Prinzip genauso wie ein LineEdit.
Wenn du auf QLineEdit bestehst (weil man auch was anderes als Zahlen eingeben kann) gibt es entsprechende Funktionen in QString.
-> http://qt.nokia.com/doc/4.6/qstring.html
Die "Umwandlungsfunktionen" fangen alle mit einem "to" an."HINT" Den text aus dem LineEdit bekommt man mit lineEdit->text(), was da zurückkommt ist ein QString.
-
Ach ja, du wolltest noch wissen, wie man den Text auf einem Label setzt:
http://qt.nokia.com/doc/4.6/qlabel.html#text-prop
-
nee ich muss mich nicht an mein lineedit fest klammern. ich nehm auch gern QDoubleSpinBox oder QSpinBox
-
haesslich schrieb:
hat alles funktioniert... dankeschön
jetzt weiß ich wie ich die zahlen ausgebe. aber wie muss es ausschen damit die zahl, die ich im edit feld eingegeben habe verwendet wird.Könnte mir jemand folgendes mal "übersetzen":
int zahl; cin >> zahl; //im textEdit Feld. cout << zahl; //im label
mfg
Also die eigentliche Frage:
Wie wandel ich Eingaben in textEdit o.ä. Feldern zu Strings bzw. Integer um?
-
erwartest du jetzt echt, dass wir dir den Code fein säuberlich auf dem Tablett servieren?
In der Qt-Doku gibt es so massig Beispiele, es gibt fertige, funktionsfähige Programme unter <qt-src>/demos und <qt-src>/examples.
Hier aber trotzdem der Link, der dir helfen sollte Text aus dem LineEdit zu bekommen:
http://qt.nokia.com/doc/4.6/qlineedit.html#text-prop
Wie man Strings in Zahlen umwandelt und umgekehrt ist auch schon angesprochen worden, samt Link zur Doku, wo auch ein dickes Besipiel dabei steht.
Also mal bissl Eigeninitiative an den Tag gelegt, dann klappt das schon.
Wenn du nämlich bei diesen Basics schon auf die Hilfe anderer angewiesen bist, wird das mit komplexeren Problemen (z.B. QGraphicsView, Events behandeln usw) gar nixWar jetzt mein letzter Post zum Thema, bis du zeigst dass du dich bemühst, eigentlich ist alles gesagt...
-
@haesslich
Wenn du wirklich in erwägung ziehst mittels Qt4 oder sonst was Programme erstellen solltest du dich am Anfang auf alle Fälle mal mit den Grundlagen hierfür auseinander setzen, da du ansonsten nur massive Probleme auf dauer bekommen wirst. Wie schon gesagt gibt es hierfür eine sehr gute Dokumentation von Qt4 mit ebenfalls sehr vielen Beispielen. Alternativ könnte ich dir auch noch ein Link zu einem englischsprachigen Buch für Qt4 hier posten, wenn du dies möchtest?!
-
Ist vieleich nicht die beste Vorraussetzung zum Programmieren... aber im moment hab ich nicht so das verlangen danach mir viel durch zu lesen. Hab deswegen mal drauf verzichtet mir die Beispiele anzugucken und einfach mal mit hilfe euerer Antworten selbst ausprobiert.
Raus kam das:QString str1; str1 = ui->lineEdit->text(); int i =str1.toInt(); QString str2 = QString("%1").arg(i); ui->label->setText(str2);
Gibt besimmt noch weniger kompliizierte Wege. Aber es reicht erstmal für das was ich machen wollte.
@ guenni81
danke aber ich bevorzuge eigentlich eher deutsche Bücher
Da gibts doch bestimmt auch nen par gute...mfG
-
Ich kann guenni81 da nur zustimmen, schau dir am besten mal die C++ Tutorials auf http://www.highscore.de/ an:
http://www.highscore.de/cpp/einfuehrung/titelseite.html
http://www.highscore.de/cpp/aufbau/titelseite.html
-
QString str1; str1 = ui->lineEdit->text(); int i =str1.toInt(); QString str2 = QString("%1").arg(i); ui->label->setText(str2);
Super geht doch!
Eine Zahl in einen String zu setzen geht aber einfacher:QString str2 = QString::number(irgendEineZahl);
Ansonsten bringt Programmieren nur auf Basis von Trial and Error wenig, wenn du absolut keinen Schimmer hast, welche Klassen dir zur Verfügung stehen und vor allem welche Möglichkeiten sie dir bieten oder wie sie überhaupt zu bedienen sind.
Also frühzeitig Doku lesen lernen, dann hast du später auch mehr Spaß
-
Also, deutsche Bücher kenn ich da ein gutes
http://www.amazon.de/GUI-Programmierung-mit-offizielle-Einführung/dp/3827327296/ref=sr_1_2?ie=UTF8&s=books&qid=1261472737&sr=8-2Im Januar soll noch eins kommen, aber darüber kann ich wenig sagen. Vorteil hierfür ist natürlich das dies auf der Qt 4.6 Version beruht.
http://www.amazon.de/Qt-4-6-GUI-Entwicklung-umfassende-Handbuch/dp/383621542X/ref=sr_1_5?ie=UTF8&s=books&qid=1261472737&sr=8-5Wenn du wirklich programmieren lernen willst kommst du ums lesen nicht drum rum. Abgesehen davon wird die Dokumentation dein bester Freund werden.
Und um die Grundlagen wirst du ebenfalls auch nicht drum rum kommen.
Aber ist deine Entscheidung.
-
Hab da noch ein kleines Problem.
Wenn ich mein fertiges Projekt direkt über QT mit "Ausführen" erstelle, startet es so wie es soll. Wenn ich allerdings die Exe aus dem Ordner Release bzw Debug ohne QT starte kommt diese Fehlermeldung:
Das Programm kann nicht gestartet werden, da mingwm10.dll auf dem Computer fehlt. Installieren Sie das Programm erneut um das Problem zu beheben.
Ist das nen fehler beim kompilieren oder was hab ich falsch gemacht?
-
Dein Programm hat Abhänigkeiten zu der mingwm10.dll und den Qt4 Dateien. Kopiere diese einfach in das Verzeichnis deines Programmes.
-
same here
-
Ich hab mir die mingw10.dll Datei jetzt einfach mal aus dem Internet besorgt. Nur will er jetzt die libgcc_s_dw2-1.dll haben.
-
Schau einfach mal in deinem MinGW Verzeichnis, da müssten die alle sein.
Aus dem Internet würde ich mir die aber nicht "besorgen".
-
phlox81 schrieb:
Schau einfach mal in deinem MinGW Verzeichnis, da müssten die alle sein.
Aus dem Internet würde ich mir die aber nicht "besorgen".Nee leider nicht. Das ist ja das Problem.
Hab die niergendwo auf meinem PC.
Hab ich vieleicht die falsche QT version geladen?
(qt-sdk-win-opensource-2009.05.exe)
-
haesslich schrieb:
[Nee leider nicht. Das ist ja das Problem.
Hab die niergendwo auf meinem PC.
Hab ich vieleicht die falsche QT version geladen?
(qt-sdk-win-opensource-2009.05.exe)Die hast du mit Sicherheit auf deinem PC, sonst könnte der Qt-Creator die Programme auch nicht ausführen. Die Dateien findest du im Verzeichnis des Qt-Creators.
Du hast schon die richtige Version von Qt4