QSettings如何在没有键值的情况下读取ini

Posted

技术标签:

【中文标题】QSettings如何在没有键值的情况下读取ini【英文标题】:QSettings how to read ini without value of keys 【发布时间】:2015-03-23 09:26:14 【问题描述】:

我有配置:

[Users]
joe
bill
dona
serg

我需要带有所有用户名的QStringList

QSettings ini("/tmp/users.ini", QSettings::NativeFormat);
ini.beginGroup("Users");
QStringList keys = ini.allKeys();
qDebug() << keys;
ini.endGroup();

这行不通:(

【问题讨论】:

究竟是什么不起作用?显示你的输出。 这样的ini文件是从哪里来的? Qt 文档说:“每个设置都包含一个指定设置名称(键)的 QString 和一个存储与键关联的数据的 QVariant。”。我认为QSettings不支持这种格式。 【参考方案1】:

我把配置改成

[Users]
joe=1
bill=1
dona=1
serg=1

它现在可以工作了。

【讨论】:

将来您应该能够使用QSettings::status() 验证格式问题

以上是关于QSettings如何在没有键值的情况下读取ini的主要内容,如果未能解决你的问题,请参考以下文章

QSettings 类

QSettings使用方法

QSettings读取INI配置文件带逗号出问题

QSettings读取INI配置文件带逗号出问题

QSettings & unicode

如何在没有双引号的情况下修复 JSON 键值?