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