C++ 是否可以序列化QSettings,然后恢复它们?

C++ 是否可以序列化QSettings,然后恢复它们?,c++,qt,qsettings,C++,Qt,Qsettings,我希望通过一个应用程序的两个实例(例如通过套接字)传递使用qset保存的设置 我在官方文件中看不到任何功能。我唯一读到的就是这篇文章 但我不想将设置保存在XML文件中,例如在Windows中,我想继续使用注册表 我只想收集所有设置,并通过套接字传递它们。接收器可以检查设置,并最终用接收到的设置替换自己的设置 好吧,我想我可以使用QSettings::allKeys()做类似的事情,检查所有的值,转换为字符串等等。但是你知道Qt中是否已经实现了一些本机函数吗 提前感谢大家我找到的最佳解决方案:

我希望通过一个应用程序的两个实例(例如通过套接字)传递使用qset保存的设置

我在官方文件中看不到任何功能。我唯一读到的就是这篇文章

但我不想将设置保存在XML文件中,例如在Windows中,我想继续使用注册表

我只想收集所有设置,并通过套接字传递它们。接收器可以检查设置,并最终用接收到的设置替换自己的设置

好吧,我想我可以使用QSettings::allKeys()做类似的事情,检查所有的值,转换为字符串等等。但是你知道Qt中是否已经实现了一些本机函数吗


提前感谢大家

我找到的最佳解决方案:

从QSettings创建QMap

QMap<QString, QVariant> keysValuesPairs;
QStringList keys = settings.allKeys();
QStringListIterator it(keys);
while ( it.hasNext() )
{
    QString currentKey = it.next();
    keysValuesPairs.insert(currentKey, settings.value(currentKey));
}
QMap键值spairs;
QStringList keys=settings.allKeys();
QStringListIterator it(键);
while(it.hasNext())
{
QString currentKey=it.next();
KeyValuesPairs.insert(currentKey,settings.value(currentKey));
}
然后将其与函数一起写在QJson中(参见官方文档)

QJsonObject::fromVariantMap

然后在另一边用

QJsonObject::toVariantMap()

并重写设置

for ( int i = 0; i < keys.size(); i++ )
{
    settings.setValue( keys.at(i), keysValuesPairsMap.value(keys.at(i)) );
}
for(int i=0;i
为此,您可以尝试
boost::property\u tree
QSettings
不是为这些东西设计的。但是您可以将自己的读写器与
QSettings
(注册QSettings自定义格式)一起使用。我想您可以实现自己的,对于套接字,如果很难通过网络序列化
QMap
,您甚至可以使用一些帮助函数。谢谢您的评论,但我不想注册另一种格式。我想为每个平台使用本机格式。我只想将设置从一个应用程序传递到另一个应用程序。例如,在Windows中,我希望读取注册表中的所有设置并序列化它们,以便将它们发送到套接字中。应该简单得多。。。。