Поскольку ваши данные представляют числа с плавающей точкой, я согласен, что вам, вероятно, следует использовать структуру данных, которая содержит числа с плавающей точкой, а не QVariants.Если вы хотите иметь возможность ссылаться на элементы по имени, вы захотите использовать QMap или QHash.QHash работает быстрее, но значения QMap сортируются по ключу, если вы перебираете их.Используемый вами тип данных, QVariantMap, это просто QMap<QString, QVariant>
, где QString является ключевым типом данных для карты, а QVariant является типом данных значения для карты.
Я бы пошел с QHash<QString,float> floatMap
.Чтобы преобразовать данные из текстовых полей, вы можете просто использовать QString::toInt()
.
QHash<QString,float> floatHash;
QString textBoxString;
QString textBoxName;
floatHash[textBoxName] = textBoxString.toInt();
для доступа к данным, используйте:
float value = floatHash[textBoxName];