一、描述
Settings 类型提供独立于平台的应用程序设置。
通过在 Settings 元素中声明属性来指定各个设置值。支持所有基本类型属性。
以下示例显示如何存储和恢复窗口的几何形状:
import QtQuick.Window
import Qt.labs.settings
Window
{
id: window
width: 800
height: 600
visible: true
Settings
{
property alias x: window.x
property alias y: window.y
property alias width: window.width
property alias height: window.height
}
}
在第一次应用程序启动时,窗口的默认尺寸指定为 800x600。稍后当窗口几何形状发生变化时,新值将自动存储到对应的属性值中。第二个应用程序运行将从持久设置中获取初始值,使窗口恢复到以前的位置和大小。
在 Windows 中实际上是将值储存到注册表中的。在使用之前需要设置程序的名称和组织名称:
1.1、类别
通过 category 属性指定类别名称,可以将应用程序设置划分为逻辑类别。使用逻辑类别不仅可以提供更清晰的设置结构,还可以防止设置键之间可能发生的冲突。
如果需要多个类别,请使用多个 Settings 对象,每个对象都有自己的类别:
import QtQuick.Window
import Qt.labs.settings
Window
{
id: window
width: 800
height: 600
visible: true
Settings
{
property alias x: window.x
property alias y: window.y
property alias width: window.width
property alias height: window.height
}
Item
{
id: panel
visible: true
Settings {
category: "OutputPanel"
property alias visible: panel.visible
}
Settings {
category: "General"
property alias fontSize: panel.width
}
}
}
在 macOS 中信息储存在 XML 首选项文件中。在其他 Unix 系统上,在没有标准的情况下,使用 INI 文本文件。
二、属性成员
1、category : string
设置类别的名称。
2、fileName : string
设置文件的路径。如果该文件尚不存在,则创建该文件。
三、函数成员
1、setValue(string key, var value)
设置键的值。如果键已经存在,则覆盖之前的值。
2、sync()
将任何未保存的更改写入永久存储,并重新加载同时由另一个应用程序更改的任何设置。
会由事件循环定期自动调用的,所以通常不需要自己调用它。
3、var value(string key, var defaultValue)
返回设置键的值。如果设置不存在,则返回参数2。