Я создаю INI-файл и затем пытаюсь прочитать его. Нет ошибок компиляции и файл есть, но я не получаю никаких данных в моем QStringList
QFile checkConfig(configPath);
if(checkConfig.exists())
{
QSettings* settings = new QSettings(configPath, QSettings::IniFormat);
settings->beginGroup("General");
const QStringList childKeys = settings->childKeys();
QStringList values;
foreach (const QString &childKey, childKeys)
values << settings->value(childKey).toString();
settings->endGroup();
QString test = configPath;
int a;
}
это мой INI файл
[General]
InterviewPath=C:/1234
Проблема возникла из-за неправильного создания INI.
QSettings settings(configPath, QSettings::IniFormat);
settings.beginGroup("/General");
settings.setValue("/InterviewPath", interviewPath);
settings.endGroup();
Не используйте настройки-> beginGroup («Общие»);
QCoreApplication a(argc, argv);
QSettings* settings = new QSettings("d:/a.ini", QSettings::IniFormat);
// settings->beginGroup("General");
const QStringList childKeys = settings->childKeys();
QStringList values;
foreach (const QString &childKey, childKeys)
values << settings->value(childKey).toString();
// settings->endGroup();
qDebug()<<values;
QSettings* settings = new QSettings(configPath, QSettings::IniFormat);
settings.sync(); // !!!
Если ваш первый звонок будет запущен после обработки некоторых событий — тогда все будет хорошо. Но если вы хотите напрямую открыть файл .ini и использовать его тем же способом — тогда вам нужно принудительно синхронизировать. Прочитайте документацию qt для получения дополнительной информации о sync ().