static JsonMap VariantToMap(QVariantMap variant) { JsonMap map; for (auto & entry : variant.toStdMap()) { map[entry.first.toUtf8().data()] = JsonUtils::toJson(entry.second); } return map; }
void ProcessDetail::updateModel(QStandardItemModel *model, QVariantMap &map) { model->removeRows(0, model->rowCount()); int counter = 0; for(auto row : map.toStdMap() ) { model->insertRow(0); model->setData(model->index(0,0), row.first); model->setData(model->index(0, 1), row.second); counter += 1; } }
QString format(const QVariantMap &t) { // QString(QJsonDocument(QJsonObject::fromVariantMap(t)).toJson()) is not good enough // e.g. QVariant(qlonglong, 1374944677139) ) -> 1.37494e+12 auto map = t.toStdMap(); QString res; for (const std::pair<QString, QVariant> &p: map) { if (res.size()) res += ", "; res += QString("%1: %2").arg(format(p.first)).arg(format(p.second)); } res = QString("{%1}").arg(res); return res; }