我有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
但数据没有填充。
任何建议都将非常感激。 提前致谢
答案 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”