Qt 多域QMap
我需要存储一些表类型的数据,比如Qt 多域QMap,qt,qt5,qmap,Qt,Qt5,Qmap,我需要存储一些表类型的数据,比如QTableWidget,但没有GUI。以下代码行中的某些内容: QMap 在Qt中是否有实现这一点的方法?我的Qt版本是5.3。您似乎对一些概念不清楚 映射(在某些语言中也称为字典)是一个关联数组。它将一个键与一个值相关联,就是这样,不涉及任何“字段”,只涉及一个键和一个值 Qt中没有数据类型来为数据库表建模。对于这些通常直接使用SQL的任务,Qt支持具有各种不同数据库驱动程序的SQL 如果您不想使用数据库,而是希望拥有“原生”C++类型,可以简单地创建具有所有
QTableWidget
,但没有GUI。以下代码行中的某些内容:
QMap
在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;
QList条目列表;
QVector入口向量;
QSet入口集;
您可以将容器包装在一个
QAbstractListModel
中,实现关键功能和角色,并将该模型用于表小部件或QML视图。我认为这更像是一个“C++中有没有一种方法可以做到这一点”的问题,而不是直接引用Qt。此外,您可能应该说明此数据结构的预期效果。我猜它“像一张地图,但有更多的数据”。这意味着您仍然希望具有映射的键排序和对数键查找性能。您可以使用QVariant
实现这一点。只需像QMap
那样映射,就可以为每个键存储一个完整的列表。