【发布时间】:2020-06-30 17:37:39
【问题描述】:
我有一个拆分器,我想用 JSON 将他的状态保存在文件中。
QJsonObject mainJson;
// here I have to convert QByteArray to QString
mainJson.insert("test", QTextCodec::codecForMib(1015)->toUnicode(ui->splitter->saveState()));
QFile file("test.json");
QTextStream textStream;
file.open(QFile::WriteOnly);
textStream.setDevice(&file);
textStream.setCodec("UTF-8");
textStream << QString(QJsonDocument(mainJson).toJson()).toUtf8();
textStream.flush();
file.close();
但是文件包含这个:
\u0000\u0000-\u0000-\u0000Ⰱ\u0000-\u0000\u0000-\u0000-
这样好吗?以及如何将ui->splitter->restoreState(...); 转换回QByteArray?
PS:我使用来自here的代码
【问题讨论】:
-
为什么要将QSplitter的状态保存为JSON?
-
@eyllanesc 我在程序中有很多作为 json 的选项,我也想将拆分器状态保存为 json。我想在重新加载后保存拆分器的状态
-
我建议使用QSettings
-
@Fabio 我不能。我需要保存在文件中
-
QSettings可以保存在文件中,但它使用INI格式