4

我有一个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 更改为英文。但是,如果我这样做:

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

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

4

1 回答 1

4

使用QLocale.toString方法

例如:

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

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

于 2017-08-14T17:42:28.953 回答