如何将QString中存储的QDateEdit再次填充到QDateEdit中

时间:2017-01-23 07:48:02

标签: qt qstring qdate

我有2个QDateEdit,它们是Date_dob和Date_doj。 我使用下面显示的Qstring存储值。

QString str_dob(ui->DATE_dob->text());
QString str_doj(ui->DATE_doj->text());

现在我想将其填充到ui-> Date_dob和ui-> Date_doj(在发生一些编辑事件之后)。我用了,

ui->DATE_dob->setText(s.at(2));
ui->DATE_doj->setText(s.at(5)); //where s is a string having data

但数据没有填充。

任何建议都将非常感激。 提前致谢

2 个答案:

答案 0 :(得分:0)

要将QString转换为QDate,您可以使用QDate::fromString()。然后,您可以使用QDate::setDate(const QDate &date)QDateEdit中设置日期。

希望有所帮助。

答案 1 :(得分:0)

你使用错误的转换方式。

QDate to QString

QString str_dob = ui->DATE_dob->toString("dd MM yyyy");

在日期格式中您应该指定它,否则您的对话是默认格式。 Known Format you can use

QString to QDate

if( ui->DATE_dob->setDate(QDate::fromString(str_dob,"dd MM yyyy").year()\
,QDate::fromString(str_dob,"dd MM yyyy").month()\
,QDate::fromString(str_dob,"dd MM yyyy").day()){
// Your Conversation Succes
}

当QString到QDate时你必须知道字符串中的日期格式,否则你的对话失败或你得到错误的值。

示例:如果Qstring为:2017年12月19日,您的格式为“dd / MM / yyyy”