具有多字段的 QMap

  • 本文关键字:QMap 字段 qt qt5 qmap
  • 更新时间 :
  • 英文 :


我需要存储一些表类型的数据,如QTableWidget但没有 GUI。类似于以下代码的内容:

QMap<QString, QString, int, QString, int>

有没有办法在Qt中实现这一目标?我的Qt版本是5.3。

你似乎不清楚几个概念。

映射(在某些语言中也称为字典)是一个关联数组。它将键与值相关联,仅此而已,不涉及任何"字段",只是一个键和一个值。

Qt中没有数据类型来对数据库表进行建模。对于此类任务,您通常直接使用SQL,Qt支持具有各种不同数据库驱动程序的SQL。

如果您不想使用数据库,而是希望拥有"本机"C++类型,则只需创建一个包含所有所需字段的对象:

struct Entry {
    QString s1, s2, s3;
    int i1, i2;
};

然后把它放进你想要的任何容器里。

QList<Entry> entryList;
QVector<Entry> entryVec;
QSet<Entry> entrySet;

您可以将容器包装在QAbstractListModel中,实现关键功能和角色,并将该模型用于表小部件或QML视图。

相关内容

  • 没有找到相关文章

最新更新