12,964
回編集
(→概要) |
|||
69行目: | 69行目: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | |||
== Settingsタイプの特徴と使用方法 == | |||
<code>Settings</code>タイプの基本的な機能を、以下に示す。<br> | |||
* キーと値のペアとして設定を保存 | |||
* 異なるプラットフォームに適した方法で設定を永続化 (例: Windowsではレジストリ、Unix系ではINIファイル) | |||
* 階層的な設定構造をサポート | |||
<br> | |||
<code>Settings</code>タイプの主要なプロパティを、以下に示す。<br> | |||
* category | |||
*: 設定のカテゴリを指定 | |||
* fileName | |||
*: 設定ファイルの名前とパスを指定 | |||
<br> | |||
<code>Settings</code>タイプの主要なメソッドを、以下に示す。<br> | |||
* setValue(key, value) | |||
*: 指定したキーに値を設定する。 | |||
* value(key, defaultValue) | |||
*: 指定したキーの値を取得する。 (デフォルト値も指定可能) | |||
* contains(key) | |||
*: 指定したキーが存在するかどうかを確認する。 | |||
* clear() | |||
*: 全ての設定をクリアする。 | |||
<br><br> | <br><br> | ||
99行目: | 122行目: | ||
Settings { | Settings { | ||
id: appSettings | id: appSettings | ||
category: "MyApp" | |||
// Linuxでは、~/.config/<組織名>/<アプリケーション名>/mysettings.iniに保存される | |||
fileName: "mysettings.ini" | |||
property string userName: "" | property string userName: "" | ||
property bool darkMode: false | property bool darkMode: false | ||
116行目: | 144行目: | ||
Switch { | Switch { | ||
id: darkSwitch | |||
text: "Dark Mode" | text: "Dark Mode" | ||
checked: appSettings.darkMode | checked: appSettings.darkMode | ||
122行目: | 151行目: | ||
SpinBox { | SpinBox { | ||
id: fontSpin | |||
from: 8 | from: 8 | ||
to: 24 | to: 24 | ||
129行目: | 159行目: | ||
Button { | Button { | ||
text: " | text: "Load Settings" | ||
onClicked: { | |||
var savedUsername = appSettings.value("username", "") | |||
var savedTheme = appSettings.value("darkMode", false) | |||
var savedFontSize = appSettings.value("fontSize", 12) | |||
console.log("Username :", savedUsername) | |||
console.log("Theme : ", savedTheme) | |||
console.log("Font Size :", savedFontSize) | |||
} | |||
} | |||
Button { | |||
text: "Save Settings" | |||
onClicked: { | |||
appSettings.setValue("userName", nameInput.text) | |||
appSettings.setValue("darkMode", darkSwitch.checked) | |||
appSettings.setValue("fontSize", fontSpin.value) | |||
console.log("Settings saved") | |||
} | |||
} | |||
Button { | |||
text: "Clear Settings" | |||
onClicked: { | onClicked: { | ||
appSettings.clear() | |||
console.log("All settings cleared") | |||
console.log(" | |||
} | } | ||
} | } |