0

我有 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

但数据不会填充。

任何形式的建议将不胜感激。提前致谢

4

2 回答 2

0

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

希望它有所帮助。

于 2017-01-23T08:25:59.157 回答
0

您使用了错误的转换方式。

QDate 到 QString

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

在日期格式中,您应该指定它,否则您的对话是默认格式。您可以使用的已知格式

QString 到 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 为 : 19/12/2017,则您的格式为“dd/MM/yyyy”

于 2017-01-23T08:46:25.093 回答