QDateEdit.date().toString("MMMM dd, yyyy") 不显示英文月份

QDateEdit.date().toString("MMMM dd, yyyy") does not display months in English

我有一个叫做日期的 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))

这样,当我点击小部件时弹出的日历小部件就变成了英文。但是,如果我这样做:

print ui.date.date().toString("MMMM dd, yyyy")

我仍然用葡萄牙语而不是英语来获取月份。我还尝试使用 python 的语言环境模块更改语言环境,但没有产生任何结果。

使用QLocale.toString方法

例如:

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

QDate 是日期的区域独立表示。格式化时需要指定语言环境...