PyQt:QDateComboBox setDate使用字符串?

时间:2012-12-06 16:25:33

标签: python string combobox pyqt date-formatting

如何使用有时也可以为空的字符串设置QDateComboBox的日期?

2 个答案:

答案 0 :(得分:3)

假设您正在谈论QDateEdit,您需要从字符串中创建一个QDate对象,以便将其传递给setDate函数。

QDate类有一个静态fromString函数可以从字符串创建一个QDate,但你必须知道字符串中日期的格式才能正常工作

默认情况下,QDate.fromString假定日期采用以下格式:

ddd MMM d yyyy (ShortDayName ShortMonthName ShortDayNumber LongYearNumber)
e.g. Thu Dec 6 2012

但是,您可以通过传递标准DateFormat或自定义format string将格式指定为fromString的第二个参数。

如果QDate无法解析日期字符串,则会返回无效的QDate对象(您可以使用date.isValid()进行检查。)

空字符串将产生无效的日期对象,但如果您将其传递给QDateEdit.setDate,则会被忽略(即日期不会发生变化)。

答案 1 :(得分:0)

我认为你在讨论可以使用QDateEdit设置的setDate(QDate)。要从字符串创建QDate,请使用QDate.fromString。请参阅QT 3 QDateTime APIQT 4 QDateTime API