12,964
回編集
(→概要) |
(→Qt 6) |
||
62行目: | 62行目: | ||
id: settings | id: settings | ||
property string style: "Material" | property string style: "Material" | ||
} | |||
</syntaxhighlight> | |||
<br><br> | |||
== サンプルコード == | |||
以下の例では、<code>Settings</code>タイプを使用してアプリケーションの情報を保存している。<br> | |||
* Settingsタイプを使用して、ユーザ名、ダークモード設定、フォントサイズを保存している。 | |||
* ユーザがUIを通じて設定を変更すると、自動的にSettingsタイプの対応するプロパティが更新される。 | |||
* アプリケーションを再起動すると、前回の設定が自動的に読み込まれる。 | |||
<br> | |||
<syntaxhighlight lang="qml"> | |||
// Qt 6の場合 | |||
import QtQuick | |||
import QtQuick.Window | |||
import QtQuick.Controls | |||
import QtCore | |||
// Qt 5の場合 | |||
import QtQuick 2.15 | |||
import QtQuick.Window 2.15 | |||
import QtQuick.Controls 2.15 | |||
import Qt.labs.settings 1.0 | |||
Window { | |||
width: 640 | |||
height: 480 | |||
visible: true | |||
title: qsTr("Settings Example") | |||
Settings { | |||
id: appSettings | |||
property string userName: "" | |||
property bool darkMode: false | |||
property int fontSize: 12 | |||
} | |||
Column { | |||
spacing: 10 | |||
anchors.centerIn: parent | |||
TextField { | |||
id: nameInput | |||
placeholderText: "Enter your name" | |||
text: appSettings.userName | |||
onTextChanged: appSettings.userName = text | |||
} | |||
Switch { | |||
text: "Dark Mode" | |||
checked: appSettings.darkMode | |||
onCheckedChanged: appSettings.darkMode = checked | |||
} | |||
SpinBox { | |||
from: 8 | |||
to: 24 | |||
value: appSettings.fontSize | |||
onValueChanged: appSettings.fontSize = value | |||
} | |||
Button { | |||
text: "Apply Settings" | |||
onClicked: { | |||
console.log("User Name:", appSettings.userName) | |||
console.log("Dark Mode:", appSettings.darkMode) | |||
console.log("Font Size:", appSettings.fontSize) | |||
// ここで設定を適用するロジックを実装 | |||
} | |||
} | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |