Seite 1 von 1

QLocale: Wochentag auf deutsch

Verfasst: 3. Februar 2013 13:12
von sigvdr
Mit der Programmzeile:

Code: Alles auswählen

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:

Code: Alles auswählen

    
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:

Code: Alles auswählen

QLocale::setDefault(QLocale::system());
der Wochntag war immer noch auf englisch.

Erst mit

Code: Alles auswählen

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?

Gruß Sig