我有一个称为日期的QDateEdit。不管我做什么,我都不能用英语显示月份,它总是用我当前的语言环境显示月份。
我已经试过了:

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

self.ui.date.calendarWidget().setLocale(QtCore.QLocale(
    QtCore.QLocale.English, QtCore.QLocale.UnitedStates))

通过这样做,当我单击小部件时弹出的CalendarWidget变为English。但是,如果我这样做了:
print ui.date.date().toString("MMMM dd, yyyy")

我仍然用葡萄牙语而不是英语度过了几个月。我还尝试用python的locale模块更改语言环境,但没有得到任何结果。

最佳答案

使用QLocale.toString方法
例如:

print(QLocale(QLocale.English, QLocale.UnitedStates).toString(self.ui.date.date(), "MMMM dd, yyyy"))`

QDATE是日期的独立于区域的表示。格式化时需要指定区域设置…

10-07 13:28