Russian Qt Forum

Qt => Qt Quick => Тема начата: vebmaster от Декабрь 24, 2016, 20:34



Название: Должен ли Settings сохранять значения после закрытия приложения?
Отправлено: vebmaster от Декабрь 24, 2016, 20:34
Здравствуйте.
Как я понял Settings на то и создан, чтобы хранить настройки даже после закрытия и открытия приложения. Но у меня почему то после повторного открытия приложения значения не восстанавливаются. Подскажите пожалуйста как правильно использовать его, чтобы сохраняло?

кусок кода:
Код:
ApplicationWindow {
    id: windowRoot
    visible: true
    width: 600
    height: 700
    title: qsTr("Hello World")


    Settings {
        id: settings
        property int q: settings.q ? "11" : "22"
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            console.log("q = " + settings.q)
            settings.q++
        }
    }


Название: Re: Должен ли Settings сохранять значения после закрытия приложения?
Отправлено: vebmaster от Декабрь 25, 2016, 12:41
вот такой вариант тоже не сохраняет при перезапуске

Код:
		ApplicationWindow {
id: windowRoot
visible: true
width: 600
height: 700
title: qsTr("Hello World")

property int testQ: settings.q

Settings {
id: settings
property int q
}

MouseArea {
anchors.fill: parent
onClicked: {
if (!testQ)
testQ = 1
console.log("testQ = " + testQ)
testQ++
}
}

Component.onDestruction: {
settings.q = testQ
console.log("q = " + settings.q)
}


Название: Re: Должен ли Settings сохранять значения после закрытия приложения?
Отправлено: vebmaster от Декабрь 25, 2016, 17:25
Решение:
в main.cpp добавить
Код:
    QGuiApplication app(argc, argv);
    app.setOrganizationName("test");
    app.setOrganizationDomain("test");
    app.setApplicationName("test");

тоже самое относится и как если бы мы работали с QSettings