gpt4 book ai didi

c++ - 格式化 QTableView 显示的日期/时间值

转载 作者:行者123 更新时间:2023-11-28 05:26:13 44 4
gpt4 key购买 nike

我正在使用 QTableView通过模型显示数据库表。其中一个表列有一个时间戳,实际上之前在那里存储了一个 QDateTime。

有没有什么方法可以在呈现时格式化时间戳值?我在想类似 QDateTime("yyyy-MM-dd hh:mm:ss.zzz") 的 .toString。

最佳答案

可以在 this 中按您希望的格式返回日期QAbstractItemModel 的虚方法:

QVariant QAbstractItemModel::data(const QModelIndex &item, int role = Qt::DisplayRole) const;

您必须从 QSqlTableModel 继承您自己的模型并覆盖此方法。代码应该是这样的:

QVariant MySubclassedMode::data(const QModelIndex& item, int role = Qt::DisplayRole) const{

if(role == Qt::DisplayRole && itemBelongsTodateTimeColumn(item)){

QDateTime* dateTime = retrieveDateTimeObjectForModelIndex(item);
return QVariant(dateTime.toString("d MMM YYYY, h:mm"));
}

return QSqlTableModel::data(item, role)
}

这种方法可以让您轻松更改对象在表格 View 中的显示方式。

QDateTime 格式详细信息为 here

关于c++ - 格式化 QTableView 显示的日期/时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494687/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com