如何使用有时也可以为空的字符串设置 QDateComboBox 的日期?
问问题
3613 次
2 回答
3
假设您正在谈论QDateEdit,您将需要从字符串创建一个QDate对象,以便可以将其传递给setDate函数。
QDate 类有一个静态fromString函数,可以从字符串创建 QDate,但您必须知道字符串中日期的格式才能正常工作。
默认情况下,QDate.fromString
假定日期将采用以下格式:
ddd MMM d yyyy (ShortDayName ShortMonthName ShortDayNumber LongYearNumber)
e.g. Thu Dec 6 2012
但是,您可以fromString
通过传递标准DateFormat或自定义格式字符串来指定格式作为第二个参数。
如果 QDate 无法解析日期字符串,则会返回无效的 QDate 对象(您可以使用 进行检查date.isValid()
)。
一个空字符串将产生一个无效的日期对象,但如果你将一个传递给QDateEdit.setDate
,它将被忽略(即日期不会改变)。
于 2012-12-06T19:04:42.230 回答
0
我想你说的是QDateEdit
可以使用setDate(QDate)
. QDate
要从字符串创建 a ,请使用QDate.fromString
. 请参阅QT 3 QDateTime API或QT 4 QDateTime API
于 2012-12-06T18:28:02.460 回答