Seite 1 von 1

QPainter::drawText() mit Euro-Zeichen

Verfasst: 18. April 2007 16:43
von varamis
Ich versuche mit drawText() ein Euro-Zeichen zu malen. Als Ergebnis
kommt immer ein Rechteck. Alle Sonderzeichen (Umlaute,...) werden richtig
dargestellt. Hat hier jemand eine Idee, wie man ein Eurozeichen (¤) doch richtig
zeichnet.

Verfasst: 18. April 2007 17:32
von upsala
Ist das ¤-Zeichen in dem von dir verwendeten Zeichensatz überhaupt enthalten?

Verfasst: 18. April 2007 20:56
von Christian81
Ich würde sagen Codierungsproblem - woher soll der Compiler wissen welchen Zeichensatz der Sourcecode hat bzw. wie lädst du den String überhaupt?
Das Euro-Zeichen entspricht 0x20ac -> QChar(0x20ac)

Verfasst: 19. April 2007 08:55
von varamis
Danke. Mit dem QChar(0x20ac) hat es funktioniert.
Ein direkt eingegebenes Zeichen im Quellcode wird nicht
dargestellt.

Verfasst: 19. April 2007 08:58
von Christian81
varamis hat geschrieben: Ein direkt eingegebenes Zeichen im Quellcode wird nicht
dargestellt.
Den Grund warum dies der Fall ist habe ich ja schon erwähnt...

Verfasst: 19. April 2007 12:07
von varamis
Leider funktioniert die Darstellung nur unter Qt 4.x.
Habe unter 3.3 übersetzt und es gibt wieder ein Rechteck-Zeichen.

Code:

...
QString text;
text += QChar(0x20ac); // Euro-Zeichen
painter->drawText(painter->drawText(x,y,sizeX,sizeY,Qt::AlignCenter, text);
...