QSettings反序列化时的问题

时间:2018-12-18 15:48:44

标签: qt

尝试使用QSettings.setValue()方法持久保存QList似乎很好,但是在重新启动应用程序后,反序列化的尝试将给出错误消息:

QVariant::load: unknown user type with name QList<QString>

持久代码:

QSettings settings;     
QList<QString> data {"first", "second", "third"};
settings.setValue("sourceList", QVariant::fromValue(data));

原始类型的对象运行良好。怎么了?

1 个答案:

答案 0 :(得分:0)

在分析现有代码后,我确定在实例化QApplication之前注册流运算符即可解决问题。

qRegisterMetaTypeStreamOperators<QList<QString>>("Data");
QApplication a(argc, argv);

在我看来,为什么在非linux环境下这似乎不是必需的?