QLocale: Wochentag auf deutsch

Alles rund um die Programmierung mit Qt
Antworten
sigvdr
Beiträge: 100
Registriert: 1. Juli 2008 19:29

QLocale: Wochentag auf deutsch

Beitrag 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
Antworten