unsigned werte ausgeben

Alles rund um die Programmierung mit Qt
Antworten
volture
Beiträge: 18
Registriert: 14. September 2004 15:27

unsigned werte ausgeben

Beitrag von volture »

ich hab nen ganz einfaches problem. ich versuche unsigned variablen mit setNum auszugeben, aber irgendwie gibts immer wieder ne fehlermeldung.
kann mir da jemand weiterhelfen.

volture!
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Mit der praezisen Problembeschreibung solltest dich besser vertrauensvoll an die Wahrsagerin Deines Vertrauens wenden ;) ;)

Goos, der leider noch keine eigene Kristallkugel hat
volture
Beiträge: 18
Registriert: 14. September 2004 15:27

Beitrag von volture »

unsigned a;

textLabel->setNum(a);

und nun dachtei ch, ich bekomme ne ausgabe in meinen textlabel, aber dis passiert nicht.

problembeschreibung besser?
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Jo isn bissl besser, die Beschreibung, aber es waer noch besser gewesen wenn du die Fehlermeldung auch angegeben haettest :)

Wenn ich in meinem Qt-Assistant nachschaue, dann gibt es fuer ein QLabel halt nur setNum(int) und setNum(double). Wieso sollte also auch ein UINT gehn? Wenn du auf deinen unsigned int Parameter bestehst, dann musst die Umwandlung anch z.B. QString wohl selbst machen.

Goos
volture
Beiträge: 18
Registriert: 14. September 2004 15:27

Beitrag von volture »

Das ist die Fehlermeldung:

error: call of overloaded `setNum(unsigned int&)' is ambiguous
.../qlabel.h:110: error: candidates are: virtual void
.../qlabel.h:111: error: virtual void

Hab es jetzt so gemacht

unsigned a;
QString string;
string = string.setNum( a );
textLabel->setText(string);

funktioniert auch prächtig, dachte nur, es gibt ne kürzere Variante.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Wenn du nicht auf nen signed int ausweichen kannst, dann musst diesen Weg wohl gehen.

Goos
needle
Beiträge: 33
Registriert: 28. September 2004 14:38
Kontaktdaten:

Beitrag von needle »

du kannst natuerlich setNum auch ohne Objekt aufrufen.

Code: Alles auswählen

textLabel->setText(QString::setNum(a));
Dann brauchst du nicht extra ein Objekt erzeugen.
Im Handbuch stand: 'Anforderung: Windows XP oder besser'
... also hab ich Debian installiert :-)
Schiffchen
Beiträge: 7
Registriert: 22. Oktober 2004 15:47

Beitrag von Schiffchen »

vielleicht klappt ja auch


textLabel->setNum((int)a);


Servus :D
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Schiffchen hat geschrieben:vielleicht klappt ja auch


textLabel->setNum((int)a);


Servus :D
nur bedingt... Werte grösser 2,1Mrd werden dann als negative Zahlen ausgegeben, was ja auch nicht der Sinn der Sache ist... aber wenn man weiss das der Bereich nicht 2.1Mrd überschreitet, kann man das machen (wobei man dann gleich auf das 'unsigned' verzichten könnte).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Schiffchen
Beiträge: 7
Registriert: 22. Oktober 2004 15:47

Beitrag von Schiffchen »

hast ja recht christian :wink: , tja dann halt:

textLabel->setNum((double)a);


Servus :P
needle
Beiträge: 33
Registriert: 28. September 2004 14:38
Kontaktdaten:

Beitrag von needle »

damit eins schon mal klar ist :

There is more then one way to do it :!: :D
Im Handbuch stand: 'Anforderung: Windows XP oder besser'
... also hab ich Debian installiert :-)
Antworten