如何使用有时也可以为空的字符串设置QDateComboBox的日期?
答案 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 API或QT 4 QDateTime API