1

QSettings を使用して、次のようにグループなしで ini 形式のファイルを解析しています。

msg=45
id=69

ここまでは順調ですが、新しいキーを書き込もうとすると、次のようになります。

[General]
new=100
msg=45
id=69

私の目標は、次のようなものを持つことです。

msg=45
id=69
new=100

これは書くための私のコードです:

QSettings settings(m_rcFile, QSettings::IniFormat);
settings.setValue("new", num);

ほとんどのiniファイルにはグループ/キー/値があることは知っていますが、QSetingsはグループなしでそれらを読み取ることができるので、書き込みについても同じことができると思います. 何か案は?

4

1 に答える 1

0

少なくともドキュメントと一致しているようです。

トップレベルの設定 (「someKey」など、スラッシュのないキー) を保存すると、INI ファイルの「General」セクションに表示されます。

そのすぐ下にある

受け入れるものはリベラルで、生成するものは保守的でなければならないという哲学に従い、QSettings は [...]

別の癖に対処している間、QSettings が非セクションから値を読み取ることができるが、そこに書き込むことを拒否する理由を説明できます。

要するに、それらの値を実際にセクションに入れることができない場合、それらの値を書き込むには別のアプローチ (別のライブラリまたは QFile/QTextStream のような低レベル クラス) が必要であるということです。

于 2016-09-24T16:00:16.263 に答える