[c++/Qt4]-Variablen ausgeben

nahkillo94

PC-Selbstbauer(in)
Hi, ihr kennt doch bestimmt das GUI-Toolkit Qt (gesprochen cute). Ich hab ein ziemlich großes Problem und finde keine Lösung. Kann auch sein dass ich unter dem falschen Begriff suche.

Weiß jemand wie man eine Variable in Qt ausgibt. Also so dass man es sehen kann im Fenster.

Normaler Text geht ja so:
Code:
// helloworld/main.cpp

#include<QApplication>
#include<QLabel>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel label("HelloWorld");
    label.show();

    return a.exec();
}

Jetzt will ich aber eine Variable x=1234 statt HelloWorld anzeigen. Dazu muss erstmal x definiert werden.

Code:
int x=1234;

Kein Problem, doch die Ausgabe??

Hab übrigens schon versucht statt "HelloWorld" <<x<< oder x oder <<x einzusetzen, aber geht auch nicht.
 
Hat das Label nicht ne Methode setNum() oder so? Bin mir da atm net mehr 100% sicher... schau doch notfalls mal in den docs bei QLabel nach!
 
Aus der Doku:
Code:
void QLabel::setNum ( int num )   [slot]
Sets the label contents to plain text containing the textual representation of integer num. Any previous content is cleared. Does nothing if the integer's string representation is the same as the current contents of the label.

Per Constructor kannst du das nicht machen. Die einzigen beiden Construktoren sind:
Code:
QLabel ( QWidget * parent = 0, Qt::WindowFlags f = 0 )
QLabel ( const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0 )

Hintergrundinfo: QLabel nutzt QString als Container für den Text. Es geht daher wohl nur in dieser Art:
Code:
QLabel label;
label.setNum(1234);
label.show();
(Es sei denn, du baust dir nen eigenen Converter von Int zu Char* oder du implementierst Ein Kind von QLabel, das nen entsprechenden Construktor besitzt, der Integer frisst.)
 
Ich weiß nicht!?!

Ich glaub ich bin grad echt zu blöd dazu!!:what:


Code:
QLabel label;
label.setNum(1234);
label.show();

Damit gebe ich doch aber keine Variable aus! Oder? Ich will das der Benutzer eine Eingabe macht in eine QTextBox. Dieses Wort/Zahl was auch immer in eine Variable. Und diese Variable dann einfach wieder im Fenster anzeigen oder ein neues Fenster öffnen.

z.b.

QT fragt: "Wie heißt du?"

Ich tippe: "nahkillo94"

QT öffnet ein Dialogfenster:" Du heißt nahkillo94!!"


Sorry dass ich so nerve! :( Aber bin grad echt am verzweifeln!!:huh:
 
Ich hab grade leider keinen Zugriff auf nen PC mit Qt aber eigentlich müsste das ja so gehn:
Code:
int variable = 1234;
label.setNum(variable);
Mal ne dumme Frage: Hast du vorher schonmal mit C/C++ gearbeitet?
 
Toll, geht ja sogar, aber eigentlich hatte ich das doch so probiert.

Da zeigt sich wie schnell man raus kommt wenn man 4-5 Monate nix mehr gemacht hat.
 
Ich kam da jetzt drauf, weil du nur vom Shift-Operator gesprochen hast, bei dem Qlabel aber die Funktion setNum mit nem int als Parameter aufgerufen wird :D
Macht ja nix, dafür sind wir ja hier in nem Forum ;)
 
Learning by doing ;)

Btw. ich hab noch iwo nen gutes Ebook zu Qt4 das es mal bei der ct auf der HP zum dl gab. Mal gucken, ob ich's noch finde... müsste ich eigentlich irgendwo auf meinem Server liegen haben :D Wenn Interesse besteht, kannst du mir Bescheid geben!
 
Kein Ding. Ich war jetzt nur froh, dass ich den Link noch gefunden habe. Das Verbreiten von urheberrechtl. geshütztem Material ist ziemlich uncool - besonders wenn man erwichst wird :ugly:
 
Zurück