我需要存储一些表类型的数据,如QTableWidget
,但没有GUI。以下代码中的某些内容:
QMap<QString, QString, int, QString, int>
有没有办法在Qt中实现这一目标?我的Qt版本是5.3。
答案 0 :(得分:1)
你似乎对一些概念不清楚。
地图(在某些语言中也称为字典)是一个关联数组。它将一个键与一个值相关联,关于它,没有&#34;字段&#34;无论如何,只是一个关键和一个价值。
Qt中没有数据类型来建模数据库表。对于此类任务,您通常直接使用SQL,Qt支持使用各种不同数据库驱动程序的SQL。
如果您不想使用数据库,而是希望拥有&#34; native&#34;在C ++类型中,您只需创建一个包含所有所需字段的对象:
struct Entry {
QString s1, s2, s3;
int i1, i2;
};
然后将它放入你想要的任何容器中。
QList<Entry> entryList;
QVector<Entry> entryVec;
QSet<Entry> entrySet;
您可以将容器包装在QAbstractListModel
中,实现关键功能和角色,并将该模型用于表窗口小部件或QML视图。