QPainter::drawText() mit Euro-Zeichen

Alles rund um die Programmierung mit Qt
Antworten
varamis
Beiträge: 3
Registriert: 27. Juni 2006 09:08

QPainter::drawText() mit Euro-Zeichen

Beitrag 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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

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 »

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 »

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 »

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 »

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);
...
Antworten