1

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

4

2 回答 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 APIQT 4 QDateTime API

于 2012-12-06T18:28:02.460 回答