# 设置
Qt带有一个用于加载和存储设置的Settings
(设置)元素。 它目前仍然在实验室的模块中,这意味着API将来可能会中断,所以要注意。
这是一个将颜色值应用于根矩形的小示例。 每次用户点击窗口时,都会生成一个新的随机颜色。 当应用程序关闭并重新启动时,应该会看到最后的颜色。 默认颜色应该是最初在根矩形上设置的颜色。
import QtQuick
import Qt.labs.settings 1.0
Rectangle {
id: root
width: 320
height: 240
color: '#fff' // default color
Settings {
property alias color: root.color
}
MouseArea {
anchors.fill: parent
// random color
onClicked: root.color = Qt.hsla(Math.random(), 0.5, 0.5, 1.0);
}
}
每次更改值时都会存储设置值。 这可能并不总是想要的效果。 要仅在需要时存储设置,可以将标准属性与调用时更改设置的函数结合使用。
Rectangle {
id: root
color: settings.color
Settings {
id: settings
property color color: '#000000'
}
function storeSettings() { // executed maybe on destruction
settings.color = root.color
}
}
也可以使用category
属性将设置分组到不同的类别中。
Settings {
category: 'window'
property alias x: window.x
property alias y: window.x
property alias width: window.width
property alias height: window.height
}
这些设置根据应用程序名称、组织和域进行存储。 此信息通常在C++代码的主函数中设置。
int main(int argc, char** argv) {
...
QCoreApplication::setApplicationName("Awesome Application");
QCoreApplication::setOrganizationName("Awesome Company");
QCoreApplication::setOrganizationDomain("org.awesome");
...
}
如果正在编写纯QML应用程序,可以使用全局属性Qt.application.name
、Qt.application.organization
和Qt.application.domain
设置与上面所示相同的属性。
← 存储 本地存储 - SQL →