【问题标题】:How to Populate QDateEdit Stored in QString again into a QDateEdit如何将存储在 QString 中的 QDateEdit 再次填充到 QDateEdit 中
【发布时间】:2017-01-23 07:48:01
【问题描述】:

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

但没有填充数据。

我们将不胜感激任何形式的建议。 在此先感谢

【问题讨论】:

  • 变量s的值是多少?
  • @eyllanesc S 只包含姓名、性别、出生日期、部门、名称、Doj、位置和联系人,索引为 0 到 7。我也从文件中获得了正确的日期。只是它没有再次填充到用户界面中。所有数据都来自文件。编辑,添加删除正常发生。

标签: qt qstring qdate


【解决方案1】:

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

希望对您有所帮助。

【讨论】:

    【解决方案2】:

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

    QDate 到 QString

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

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

    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”

    【讨论】:

    • @CMLDMR ui->Date_dob->toString(),toString 没有弹出
    • @CMLDMR no such option(toString) popping for ui->Date_dob
    • @CMLDMR 我正在使用日历弹出以及格式为 dd/MM/yyyy。此格式已正确保存在文件中。所有的操作也都成功了。唯一的问题是当我点击 EDIT Employee 时,除了 dob 和 doj 之外的所有数据都可以正确编辑。
    • @Lalaboy ui->Date_dob->date->date() 获取您需要的日期。和 ui->Date_dob->setDate(QDate& date) 设置您需要的日期
    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2019-08-25
    • 2020-03-16
    • 2011-10-25
    相关资源
    最近更新 更多