Exemple #1
0
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;
    }