Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt QML Settings are not saved/applied

Tags:

settings

qt

qml

I have simply copied this example from the docs, adjusting the import version number to the newest ones (but I tried with both for same result).

import QtQuick.Window 2.12
import Qt.labs.settings 1.1

Window {
    id: window

    width: 800
    height: 600

    Settings {
        property alias x: window.x
        property alias y: window.y
        property alias width: window.width
        property alias height: window.height
    }
}

As opposed to advertised, the window geometry was not saved after I closed and reopened the window. In fact, it now doesn't show the window at all? (I tried re-running qmake and cleaning all)

I also get this warning every time I run the project in Qt Creator, regardless of whether I use Settings or not:

17:01:02: Starting C:...debug\untitled.exe...
QML debugging is enabled. Only use this in a safe environment.
qrc:/main.qml:10:5: QML Settings: Failed to initialize QSettings instance. Status code is: 1
qrc:/main.qml:10:5: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")

1) Is the warning related to the issue?

2) How do I remove the warning?

3) How do I get the settings to be applied as advertised?

like image 236
Melodie Avatar asked Feb 05 '19 22:02

Melodie


1 Answers

...Turns out I had to keep reading the docs to the end.

1) Warning is related to the issue.

2) Per the docs, add this at the beginning of the main in main.cpp

app.setOrganizationName("Some Company");
app.setOrganizationDomain("somecompany.com");
app.setApplicationName("Amazing Application");

3) Now works as advertised.

like image 178
Melodie Avatar answered Nov 18 '22 08:11

Melodie