代码之家  ›  专栏  ›  技术社区  ›  Aleksey Kontsevich

为什么我不能在QSettings中存储QVariantMap?

  •  -1
  • Aleksey Kontsevich  · 技术社区  · 5 年前

    为什么会这样 possible in Qt 5.2 previously 并以以下格式存储数据:

    key=@Variant(\0\0\0\b\0\0\0)
    

    QVariantMap projectsMap;
    for (auto project : projects)
        projectsMap.insert(key, value);
    
    settings->setValue("Group/projects", projectsMap);
    

    qRegisterMetaTypeStreamOperators<QVariantMap>("QVariantMap");

    也没用。怎么储存这个,这里有什么问题?

    1 回复  |  直到 5 年前
        1
  •  3
  •   Kuba hasn't forgotten Monica    5 年前

    不存储 QSettings Q设置

    MyClass::~MyClass() {
      QSettings s;
      s.setValue(kFoo, this->m_bar);
      …
    }
    

    Q设置 是设置系统的临时句柄,它的实例化很便宜。你泄露它是因为 QPointer