Paint Symbol with drawText() method



  • Hi all,

    i have a problem to paint a text, the problem is not the painter but the text because i have to Write "€" symble and it was not write, compare a white rect or if i cast is toUtf8 compare wrong String.

    How i can paint it?

    regards



  • That's almost certainly due to wrong encoding of your source files. Please have a look for

    • CODECFORTR = UTF-8
      in qmake .pro files
    • CODECFORSRC = UTF-8
      in qmake .pro files
    • QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
      in your main method
    • QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
      in your main method


  • Volker I have to write this:

    @
    QPainter p;
    p.drawText(12, y+71, 100, 20, Qt::AlignLeft, QString("€"));@

    Now you saw my code, do you think it could be semplified?



  • I'm using this:
    @ QPainter p;
    p.drawText(12, y+71, 100, 20, Qt::AlignLeft, QString::fromUtf8("€"));
    @

    The source file you have to save as utf8!



  • not paint too...


  • Moderators

    If you just get a rectangle in the place of the character you expected that hints to either the conversion being wrong (output the value of the QChar and compare that to the unicode tables to verify this is not the case) or that the font does not contain the requested symbol.



  • [quote author="Tobias Hunger" date="1331025740"]If you just get a rectangle in the place of the character you expected that hints to either the conversion being wrong (output the value of the QChar and compare that to the unicode tables to verify this is not the case) or that the font does not contain the requested symbol.[/quote]

    then? how i have to do? cange the method to see if the code is not UTF8 but latin 1 o other?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.