QSettings находит файл INI, но не дает результата

Я попробовал использовать QSettings и написал небольшой тест.

if(QFile("C:/Users/test/network.ini").exists()){
    QSettings settings("C:/Users/test/network.ini", QSettings::IniFormat);
    settings.sync();
    settings.beginGroup("Network");
    settings.setValue("Port",9999);
    settings.endGroup();
    settings.sync();
    settings.beginGroup("Network");
    int port = settings.value("Port").toInt();
    settings.endGroup();
    settings.sync();
    qDebug() << port;
    return port;
}

Мой файл Ini выглядит так:

[Network]
Port=4444

Путь к файлу правильный, но я по-прежнему не получаю результатов. Любые идеи?


person Julius    schedule 14.06.2017    source источник


Ответы (1)


Ошибка была вызвана файлом qsettings.h в Qt 5.4.2.

Исходный код был:

enum Format {
    IniFormat,
    IniFormat,

    InvalidFormat = 16,
    CustomFormat1,
    CustomFormat2,
    CustomFormat3,
    CustomFormat4,
    CustomFormat5,
    CustomFormat6,
    CustomFormat7,
    CustomFormat8,
    CustomFormat9,
    CustomFormat10,
    CustomFormat11,
    CustomFormat12,
    CustomFormat13,
    CustomFormat14,
    CustomFormat15,
    CustomFormat16
};

После того, как я изменил его на

enum Format {
    NativeFormat,
    IniFormat,

    InvalidFormat = 16,
    CustomFormat1,
    CustomFormat2,
    CustomFormat3,
    CustomFormat4,
    CustomFormat5,
    CustomFormat6,
    CustomFormat7,
    CustomFormat8,
    CustomFormat9,
    CustomFormat10,
    CustomFormat11,
    CustomFormat12,
    CustomFormat13,
    CustomFormat14,
    CustomFormat15,
    CustomFormat16
};

все работало хорошо.

person Julius    schedule 14.06.2017
comment
Я не знаю, что ты делаешь, но это кажется неправильным. Код, который вы цитировали, даже не компилируется. - person Kuba hasn't forgotten Monica; 14.06.2017