为什么它是可能在Qt 5.2中和之前,并以下列格式存储数据:
key=@Variant(\0\0\0\b\0\0\0)但是现在QT5.11有问题了吗?!以下代码
QVariantMap projectsMap;
for (auto project : projects)
projectsMap.insert(key, value);
settings->setValue("Group/projects", projectsMap);但是正确执行,但是没有将任何内容存储到ini文件中。
qRegisterMetaTypeStreamOperators<QVariantMap>("QVariantMap");
也无济于事。如何存储这个,这里有什么问题?
发布于 2018-10-12 13:50:42
不要存储QSettings:它不是以那种方式使用的。每次更改设置时,都应该使用QSettings的新实例。您的析构函数应该如下所示:
MyClass::~MyClass() {
QSettings s;
s.setValue(kFoo, this->m_bar);
…
}QSettings是设置系统的临时句柄,它的实例化成本很低。您泄漏它是因为QPointer没有破坏任何东西:它不是一个拥有指针。
https://stackoverflow.com/questions/52778064
复制相似问题