Alles rund um die Programmierung mit Qt
varamis
Beiträge: 3 Registriert: 27. Juni 2006 09:08
Beitrag
von varamis » 18. April 2007 16:43
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.
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 18. April 2007 17:32
Ist das ¤-Zeichen in dem von dir verwendeten Zeichensatz überhaupt enthalten?
Christian81
Beiträge: 7319 Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:
Beitrag
von Christian81 » 18. April 2007 20:56
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)
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
varamis
Beiträge: 3 Registriert: 27. Juni 2006 09:08
Beitrag
von varamis » 19. April 2007 08:55
Danke. Mit dem QChar(0x20ac) hat es funktioniert.
Ein direkt eingegebenes Zeichen im Quellcode wird nicht
dargestellt.
Christian81
Beiträge: 7319 Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:
Beitrag
von Christian81 » 19. April 2007 08:58
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...
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
varamis
Beiträge: 3 Registriert: 27. Juni 2006 09:08
Beitrag
von varamis » 19. April 2007 12:07
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);
...