首页 > 解决方案 > 如何拥有 QMap 的 QVector

问题描述

我想要一个 QMap 的 QVector。我使用了这个语法:

QVector<QMap<QString, QString>> x;
x[0].insert("name", "jim");
x[0].insert("lname", "helpert");
x[1].insert("name", "dwight");
x[1].insert("lname", "schrute");

但这不起作用:

在此处输入图像描述

如果有人指导我使用正确的格式,我将不胜感激。

标签: c++qtqmapqvector

解决方案


您正在获取“索引超出范围”,因为您正在访问一个空的 QVector。您需要先将 QMap 元素插入到 QVector。然后您可以访问 x[0] -> 用于第 0 个索引处的第一个 QMap,x[1] -> 用于第 1 个索引处的第二个 QMap....... 制作 QMap 对象。向其中插入元素。制作 QVector 对象。将该 QMap 对象插入到此 QVector。阅读文档并为其使用适当的功能https://doc.qt.io/archives/qt-4.8/


推荐阅读