我试图从系统时钟获取当前日期并更改其格式(即格式为dd/MM/yyyy
)。之后我需要使用setDate()
设置QDateEdit。我的问题是fromString()
与QDate::currentDate()
一起使用会返回无效日期。这是关于这个问题的一段代码
QDate date = QDate::currentDate().fromString("dd/MM/yyyy");
qDebug() << date.toString(); // <-- returns empty string
StartDateEdit->setDate(date); // <-- adding invalid date shows 1-1-2000
我的系统时钟在Windows 10中具有此格式M/d/yyyy
。有任何建议吗?
答案 0 :(得分:2)
QDate::currentDate()
是一个静态函数,它返回当前日期,对象存储日期,而不是格式。如果您要显示表单:"dd/MM/yyyy"
,则必须使用setDisplayFormat
的{{1}}功能。
QDateEdit
注意:QDate date = QDate::currentDate();
StartDateEdit->setDate(date);
StartDateEdit->setDisplayFormat("dd/MM/yyyy");
函数将字符串转换为QDate,表示字符串的格式。