QLabel(tr("ptr: "),ptr);

Alles rund um die Programmierung mit Qt
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

QLabel(tr("ptr: "),ptr);

Beitrag 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
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Ich sehe nicht was das mit Qt zu tun hat. Das sind C++ Basics, noch tiefer geht gar nicht.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

Beitrag von rdg »

Du scheintst ja ein ganz schlauer zu sein! :lol:
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Schau einfach in die QString Doku wie man eine Zahl in einen String umwandelt - ist das so schwer?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

Beitrag 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!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Also immer noch nicht die QString-Doku angeschaut :(
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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().
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Beitrag 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ß
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Zahl -> String:
QString::number(number) (static)
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Beitrag von Thorsten »

Genauer gesagt, in diesem Fall:

Code: Alles auswählen

QString QString::number ( double n, char format = 'g', int precision = 6 )   [static]
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

Beitrag 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 :D
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Beitrag von Thorsten »

Du musst arg nicht verwenden. Damit hast du angefangen.

QString::number()
und
QString::sprintf()

sind hier sicher eleganter.

Gruß
rdg
Beiträge: 9
Registriert: 27. August 2007 16:39

Beitrag 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>
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten