stringToInt / intToString. Wie addiere ich zwei Zahlen und gebe sie als Label wieder aus? (QTCreator)



  • 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 nix 😞

    War 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


  • Mod

    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-2

    Im 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-5

    Wenn 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.


  • Mod

    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



  • Ok. Ich hab MinGW nochmal komplett runtergeladen.
    Jetzt hab ich die vermisste Datei auch wieder.
    Der Rest war wohl doch noch da wo er hingehört.

    mfG

    P.S
    Eigentlich ist alles gesagt
    /close


Anmelden zum Antworten