Seite 1 von 2
QLabel(tr("ptr: "),ptr);
Verfasst: 30. Januar 2008 15:03
von rdg
Hi,
ich fange erst damit an mit qt zu programmieren, deshalb bitte ich Euch mir ein wenig dabei zu helfen.
Ich habe das Buch QT4 gekauft und versucht damit:
int *ptr;
QLabel* zeiger_Normal_b = new QLabel(tr("*ptr;"));
QLabel* zeiger_Normal_ba = new QLabel(tr("&ptr: "),&ptr);
QLabel* zeiger_Normal_bb = new QLabel(tr("ptr: "),ptr);
doch er will es nicht nehmen, wie kann ich denn die Variable dahinter ausgeben?
gruß und vielen dank!
rdg
Verfasst: 30. Januar 2008 15:05
von macman
Ich sehe nicht was das mit Qt zu tun hat. Das sind C++ Basics, noch tiefer geht gar nicht.
Verfasst: 30. Januar 2008 15:29
von rdg
Du scheintst ja ein ganz schlauer zu sein!

Verfasst: 30. Januar 2008 15:37
von Christian81
Schau einfach in die QString Doku wie man eine Zahl in einen String umwandelt - ist das so schwer?
Verfasst: 30. Januar 2008 16:50
von rdg
Für Euch nicht,
für mich schon, da ich mich noch nicht so damit beschäftigt habe wie Ihr.
hab nach dem netten Hinweis es nochmal umgebaut:
QLabel::QLabel(const QString&, QWidget*, Qt::WindowFlags)
doch wie bekomme ich die variable in qstring hinein?
Meine Versuche
Code: Alles auswählen
QLabel* zeiger_Normal_ba = new QLabel(tr("&ptr:",&ptr));
QLabel* zeiger_Normal_ba = new QLabel(tr("&ptr:" + &ptr.c_str()));
Bitte, ich weiß es einfach wirklich nicht und wäre für Eure hilfe dankbar!
Verfasst: 30. Januar 2008 17:37
von Christian81
Also immer noch nicht die QString-Doku angeschaut

Verfasst: 30. Januar 2008 17:47
von rdg
Angeschaut schon,
doch:
Code: Alles auswählen
double d = 12.34;
QString str = QString("delta: %1").arg(d, 0, 'E', 3);
// str == "delta: 1.234E+01"
gefunden und nicht verstanden.
Verfasst: 30. Januar 2008 17:55
von Christian81
Sorry, aber dann würde ich nicht mit Qt anfangen sondern bei den Grundlagen. Es gibt ausserdem noch QString::sprintf() welches die gleichen Parameter übernimmt wie das normale printf().
Verfasst: 30. Januar 2008 18:07
von Thorsten
Hallo rdg,
vielleicht solltest du dir erst mal ein Buch über C++ anschauen. Die Reaktionen der anderen Forenmitglieder sind nicht böse gemeint. Aber es ist schwer jemand taubem zu erklären, was Musik ist.
Code: Alles auswählen
double d = 12.34;
QString str = QString("delta: %1").arg(d, 0, 'E', 3);
// str == "delta: 1.234E+01"
Was verstehst du denn hier nicht? Was die Funktion arg macht steht doch in der Doku:
Das ist sie:
Code: Alles auswählen
QString QString::arg ( double a, int fieldWidth = 0, char format = 'g', int precision = -1, const QChar & fillChar = QLatin1Char( ' ' ) ) const
Das grundlegende Prinzip ist unter
Code: Alles auswählen
QString QString::arg ( const QString & a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) ) const
beschrieben.
Andere Fragen, die mit Qt zusammenhängen, fallen mir da irgendwie nicht ein. Ich lasse mich aber gern eines besseren belehren.
Gruß
Verfasst: 30. Januar 2008 18:14
von franzf
Zahl -> String:
QString::number(number) (static)
Verfasst: 30. Januar 2008 18:22
von Thorsten
Genauer gesagt, in diesem Fall:
Code: Alles auswählen
QString QString::number ( double n, char format = 'g', int precision = 6 ) [static]
Verfasst: 30. Januar 2008 22:23
von rdg
Hi,
erstmal danke für Eure Hilfe!
Hat jetzt endlich geklappt, warum ich über die Funktion arg muss, weiss ich zwar nicht aber ok.
Ihr habt schon Übung, deshalb ist das alles für Euch logisch, doch wer noch nicht die Routine hat, für den ist dies halt noch nicht logisch und muss es erst lernen.
Ich mein niemand ist mit qt geboren und bei jedem kann man beim lernen sagen erst Grundlagen lernen, doch was die Verwendung von arg mit den Grundlagen zusammen zu tun hat find ich persönlich ein wenig übertrieben und als Selbstdarstellung missbraucht.
Aber hey, war soll der ganze Streit hier, das war wirklich nicht die Absicht meines Threads!!!
Es funktioniert und vielen dank das Ihr mich auf arg gebracht habt!!!
Vielen vielen Dank, habt mir wirklich weitergeolfen

Verfasst: 31. Januar 2008 04:37
von Thorsten
Du musst arg nicht verwenden. Damit hast du angefangen.
QString::number()
und
QString::sprintf()
sind hier sicher eleganter.
Gruß
Verfasst: 31. Januar 2008 13:55
von rdg
Puh..., da habe ich noch mal richtig Schwein gehabt im Leben.
Ich meine nur aufgrund meiner eigenen Unzufriedenheit es an anderen auszulassen
und dafür mein Wissen zu missbrauchen ist wirklich nur arm.
Das ist mir mit Abstand einfach nur zu blöde hier,
bitte löschen Sie meinen Account, er wird nicht weiter gebraucht, steht ja alles in der Doku und der Rest sind Grundlagen.
Warum Seid Ihr hier eigentlich angemeldet, wirklich ein trauriges Leben das Ihr führt!
Mit anderen Worten es ist mir einfach nur zu blöd hier mit Euch!
<nicht mal einen simplen Quellcode könnt Ihr zur Hilfe schreiben, welcher jetzt nicht mehr benötigt wird>
Verfasst: 31. Januar 2008 14:15
von Christian81
Deine Frage war einfach nicht zu gebrauchen - was Du ausgeben willst hast Du nämlich nicht gesagt - Willst Du den Inhalt der Variablen ausgeben (wenn ja, warum hast Du dann einen Pointer) oder die Adresse (was auch imm sie Dir nützen wird). Deshalb auch der Hinweis von uns, sich erstmal mit den C/C++ Grundlagen zu beschäftigen.
Selbst meinen Hinweis auf QString::sprintf() hast Du ignoriert - und das obwohl diese Funktion genau die gleiche Schnittstelle wie ein simples printf() besitzt. Und damit wären wir wieder bei den C Grundlagen...