Seite 1 von 1

darstellung von ° in label

Verfasst: Montag 2. Mai 2011, 14:26
von malikno
Hallo

Kurze Frage:

Wie kann ich zum Beispiel in einem Label mit der Qt Methode ... .setText( ... ) das sonderzeichen "°" im Label darstellen. Die normale Eingabe "°" liefert mir irgendein Sonderzeichen davor in der Anzeige --> A°

kann mir jemand helfen.

lg

Re: darstellung von ° in label

Verfasst: Montag 2. Mai 2011, 14:26
von Leonidas
Du solltest vielleicht ° als Unicode-String übergeben und schauen ob das besser funktioniert.

Re: darstellung von ° in label

Verfasst: Montag 2. Mai 2011, 14:37
von malikno
Hallo

Ich habe folgendes probiert:

Code: Alles auswählen

print "%s"    %unicode("°")

Die Ausgabe lautet:
°

Die setText Methode liefert die gleiche Anzeige.

Hättest du besseren Vorschlag?

lg

Re: darstellung von ° in label

Verfasst: Montag 2. Mai 2011, 14:44
von Leonidas
Mein Vorschlag wäre eher ``.setText(u"°")`` statt die komischen Verrenkungen und impliziten Konvertierereinen, die du da machst.

Re: darstellung von ° in label

Verfasst: Montag 2. Mai 2011, 15:03
von malikno
Danke,
das funktioniert!

Re: darstellung von ° in label

Verfasst: Mittwoch 4. Mai 2011, 15:19
von /me
malikno hat geschrieben:

Code: Alles auswählen

print "%s"    %unicode("°")
Die Ausgabe lautet:
°
Da das Zeichen ° nicht im ASCII-Zeichensatz enthalten ist muss man es passend dekodieren.

Code: Alles auswählen

print u'%s' %('°'.decode('iso-8859-1'))

Re: darstellung von ° in label

Verfasst: Mittwoch 4. Mai 2011, 17:24
von Leonidas
Und für die print-Ausgabe wieder enkodieren. Aber ich finds total furchtbar für sowas String-Formatting und irgendwelche deocode/encode-Sachen zu nutzen. Dafür gibt es Unicode-Literale, dafür gibt es das Encoding-Cookie, das man genau das eben nicht mehr machen muss. Wenn man auf Literalen encode oder decode aufruft macht man (meist/oft) was falsch.