【问题标题】:How to use Qmap inside a Qhash?如何在 Qhash 中使用 Qmap?
【发布时间】:2013-10-12 07:26:58
【问题描述】:

我必须创建一个QHash,里面有一个地图QMap,我试着写如下:

声明:

QMap<int,int>price_vol;
QHash<int,QMap<int,int>>table_maintain;
QList<int>data_list;

定义:

price_vol.insertMulti(stOrderData->Price,stOrderData->Quantity);
table_maintain.insertMulti(stOrderData->TokenNo,price_vol);
data_list = table_maintain.values();

所以我想知道:我会得到一个QMap 的令牌号,它将映射到以“价格”为键的各种值吗?

【问题讨论】:

  • @guneykayim:如何打印 tablemaintain 的所有值?还有一个问题,price_vol 里面的值会自己排序吗?
  • 打印 table_maintain 的所有值是什么意思? tablemaintain的values是QMap类型的对象,不能直接打印,需要table_maintain的values的打印值,也可以说table_maintain的items的values。据我所知,price_vol 中的值将按价格排序,但由于您使用 QHash for table_maintain price_vol 项目不会在 table_maintain 中按其令牌排序,它们将是随机的。

标签: c++ qt qtcore qmap qhash


【解决方案1】:

所以我想知道:我会得到一个令牌编号的 QMap,它将映射到以“价格”为键的各种值吗?

是的,当然。

如何打印 tablemaintain 的所有值?

只需遍历容器并根据需要打印它们的键和值;像这样:

foreach (int key, myContainer.keys())
     qDebug() << key << "," << myContainer.value(key);

price_vol 中的值是否会自行排序?

当然,这是QMapQHash 之间的主要区别。 QMap 将根据密钥进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多