如何将 QDateEdit 再次填充到 QDateEdit 中

  • 本文关键字:QDateEdit 填充 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

但数据不会填充。

任何建议将不胜感激。提前感谢

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

希望对您有所帮助。

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

QDate to QString

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

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

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 是:19/12/2017,则您的格式是"dd/MM/yyyy"

最新更新