在Windows中使用秒显示QDateTime而不将其转换为字符串

时间:2017-02-21 11:45:48

标签: qt

我知道QDateTime会以Windows的方式显示时间戳。 我可以更改格式而不将QDateTime转换为字符串,因为这会禁用特殊的过滤功能吗?

2 个答案:

答案 0 :(得分:0)

由于您提到QDateTime显示,我假设您使用QDateTimeEdit来显示它。

用于显示的格式与本地化设置直接相关。您可以通过调用setDisplayFormat(const QString &format)对象的QDateTimeEdit来使用自己的显示设置。

displayFormat不会更改存储在其中的数据。

例如:

ui->dateTimeEdit->setDisplayFormat("dd.MM.yyyy");

如果您不是这种情况,则需要了解有关您的特定用途的更多信息。

答案 1 :(得分:0)

我通过在使用 QDateTime 调用 QVariant<QString> 时将 model->data(idx, role) 返回为 Qt::DisplayRole 解决了这个问题。然后,我使用用户定义的角色进行排序和过滤,以便在调用 model->data(idx, role) 时使用这些角色时,我可以返回 QVariant<QDateTime>