Q:

Проблема с QSettings (Qt 5.4)

#include <QSettings>

----------

QSettings settings;
settings.setValue("time_axis_direction", 1);
int test_var = settings.value("time_axis_direction").toInt();

----------

В переменную test_var кладётся значение 0, в чём может быть причина?
В Qt4 всё работало корректно; Qt5 не собрано, а подключено через VS Add-In.
Обновление
В оригинале settings - член класса, значения ключей присваиваются в методах класса, конструктор settings вызывается в конструкторе данного класса:
Controller::Controller(ImagesMaker *i, Ui_Mainwindow *v, QObject *parent) :
    settings(QSettings::SystemScope, "SC", "CV", this)

В самом деле, status() возвращает ошибку доступа. Не подскажете, что можно с этим сделать?

A:

QSettings в случае винды по умолчанию сохраняет настройки в реестре. А обычному приложению без прав администратора мало куда можно писать. QSettings::SystemScope пишет в место, которое доступно всем пользователям. Если какой то другой пользователь уже туда записал, а права нормально не выставил, то может быть плохо. 
QSettings::UserScope - как по мне, это более красивый и правильный вариант. Настройки будут сохраняться в специальной ветке реестра, которая доступна только для текущего пользователя (и администратора, который знает, как это сделать). К этому разделу у текущего пользователя обычно полные права. Да и другим пользователям на компьютере не будет мешать.

