Qt QML 设置未保存/应用

Mel*_*die 5 settings qt qml

我只是从文档中复制了这个示例,将导入版本号调整为最新版本(但我尝试了两者以获得相同的结果)。

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
    }
}
Run Code Online (Sandbox Code Playgroud)

与广告相反,在我关闭并重新打开窗口后,窗口几何图形没有保存。事实上,它现在根本不显示窗口?(我尝试重新运行 qmake 并清理所有内容)

每次在 Qt Creator 中运行项目时,我也会收到此警告,无论我是否使用设置:

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")
Run Code Online (Sandbox Code Playgroud)

1) 警告是否与问题有关?

2)如何解除警告?

3) 如何让设置按照宣传的方式应用?

Mel*_*die 10

...结果我不得不一直阅读文档到最后。

1) 警告与问题有关。

2)根据文档,在 main.cpp 的 main 开头添加它

app.setOrganizationName("Some Company");
app.setOrganizationDomain("somecompany.com");
app.setApplicationName("Amazing Application");
Run Code Online (Sandbox Code Playgroud)

3) 现在如宣传的那样工作。

  • 阅读文档或您收到的警告总是有用的,只是想摆脱... (2认同)