QLocale - Wochentag auf deutsch



  • Mit der Programmzeile:
    @
    QString locale = QLocale::system().name();
    @

    erhalte ich locale = "de_DE", mein Programm erkennt also richtig, dass das System auf deutsch eingestellt ist.
    Der Wochentag so ermittelt:
    @
    QString day(QDateTime dateTime) {
    int day = dateTime.date().dayOfWeek();
    QLocale l;
    return l.dayName(day,QLocale::ShortFormat);
    }
    @

    ergibt aber trotzdem die Wochentagsangabe auf englisch.

    Irgendwo fand ich den Hinweis: setze QLocale::setDefault(). Das habe ich zunächst so versucht:
    @QLocale::setDefault(QLocale::system());
    @

    der Wochntag war immer noch auf englisch.

    Erst mit
    @QLocale::setDefault(QLocale(QLocale::system().name()));
    @

    war der Wochentag auf deutsch.

    Was ist der Sinn bei dem Unterschied von "QLocale::system()" und "QLocale(QLocale::system().name())"? Und warum muss ich QLocale::setDefault() setzen, wenn doch die Systemeinstellung richtig erkannt wurde?

    Qt - Version 4.8.1 auf Ubuntu 12.04

    Gruß Sig


Log in to reply
 

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