c++ - 如何拥有 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");
但这不起作用:
如果有人指导我使用正确的格式,我将不胜感激。
解决方案
您正在获取“索引超出范围”,因为您正在访问一个空的 QVector。您需要先将 QMap 元素插入到 QVector。然后您可以访问 x[0] -> 用于第 0 个索引处的第一个 QMap,x[1] -> 用于第 1 个索引处的第二个 QMap....... 制作 QMap 对象。向其中插入元素。制作 QVector 对象。将该 QMap 对象插入到此 QVector。阅读文档并为其使用适当的功能https://doc.qt.io/archives/qt-4.8/
推荐阅读
- python - 如何乘以一个元组?
- android - 使用 JSONObject android 写入内存中的 Json 文件
- python - 根据列中的值制作列表
- go - Windows 10 CMD 中的 Println 输出比 GoLand 控制台慢得多
- python - Django:如何在 pre_save 信号中传递外键值?
- dialogflow-es-fulfillment - Webhook 调用失败。错误:500 内部服务器错误
- mysql - Go 和 mysql,不会拉所有列
- reactjs - 如何在自定义控制台反应组件中使用反应编译器
- angular - 如何使用 Angular 7 将数据绑定到列表/表格中的模板驱动表单?
- delphi - 常量“基数数组”产生错误“常量表达式违反子范围界限”