代码之家  ›  专栏  ›  技术社区  ›  Eduardo

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

  •  4
  • Eduardo  · 技术社区  · 8 年前

    我有一个 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的locale模块更改区域设置,但没有产生任何结果。

    1 回复  |  直到 8 年前
        1
  •  4
  •   AleÅ¡ Erjavec    8 年前

    使用 QLocale.toString 方法

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

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

    推荐文章