Search code examples
pythonqtlocalizationpyqt4qdatetime

Changing language of QDateTimeEdit calendar popup


I've created QDateTimeEdit widget in QtDesigner with calendarPopup option checked.

I need months to be shown in English language but they are shown in my system locale language.

I've tried this:

self.ui.dateTimeEdit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))

and this:

self.ui.dateTimeEdit.setLocale(QtCore.QLocale(QtCore.QLocale.English))

...but months are still showing in my local language. What am I doing wrong?


Solution

  • You need to set locale for the calendar widget:

    self.ui.dateTimeEdit.calendarWidget().setLocale(...)
    

    It would be logical to assume that QDateTimeEdit sets locale for its internal calendar widget. It seems to be a Qt bug.