Seite 1 von 1

unsigned werte ausgeben

Verfasst: 22. September 2004 15:56
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!

Verfasst: 22. September 2004 16:47
von Goos
Mit der praezisen Problembeschreibung solltest dich besser vertrauensvoll an die Wahrsagerin Deines Vertrauens wenden ;) ;)

Goos, der leider noch keine eigene Kristallkugel hat

Verfasst: 22. September 2004 17:02
von volture
unsigned a;

textLabel->setNum(a);

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

problembeschreibung besser?

Verfasst: 22. September 2004 17:17
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

Verfasst: 23. September 2004 10:21
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.

Verfasst: 23. September 2004 11:01
von Goos
Wenn du nicht auf nen signed int ausweichen kannst, dann musst diesen Weg wohl gehen.

Goos

Verfasst: 26. Oktober 2004 16:28
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.

Verfasst: 27. Oktober 2004 10:49
von Schiffchen
vielleicht klappt ja auch


textLabel->setNum((int)a);


Servus :D

Verfasst: 27. Oktober 2004 11:47
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).

Verfasst: 27. Oktober 2004 14:07
von Schiffchen
hast ja recht christian :wink: , tja dann halt:

textLabel->setNum((double)a);


Servus :P

Verfasst: 27. Oktober 2004 15:21
von needle
damit eins schon mal klar ist :

There is more then one way to do it :!: :D