Как использовать Qmap внутри Qhash?

Мне нужно создать 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 для номера токена, который будет сопоставляться с различными значениями с «ценой» в качестве ключа?


person CowboY    schedule 12.10.2013    source источник
comment
@guneykayim: Как я могу напечатать все значения tablemaintain? один вопрос, будут ли значения внутри price_vol сортироваться сами по себе?   -  person CowboY    schedule 12.10.2013
comment
Что вы подразумеваете под печатью всех значений table_maintain? Значения tablemaintain являются объектами типа QMap, вы не можете распечатать их напрямую, вам нужны значения печати значений table_maintain, или мы можем сказать значения элементов table_maintain. Насколько я знаю, значения в price_vol будут отсортированы по цене, но поскольку вы используете QHash для table_maintain, элементы price_vol не будут сортироваться в table_maintain по их tokenNo, они будут случайными.   -  person guneykayim    schedule 12.10.2013


Ответы (1)


Итак, я хочу знать: получу ли я QMap для номера токена, который будет отображаться на различные значения с ценой в качестве ключа?

Да, конечно.

Как я могу распечатать все значения tablemaintain?

Просто переберите контейнеры и распечатайте их ключи и значения по своему усмотрению; что-то вроде этого:

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

будут ли значения внутри price_vol сортироваться сами по себе?

Конечно, это основное различие между QMap и QHash. QMap будет заказан на основе ключа.

person lpapp    schedule 27.06.2014