「QMLのコントロール - Settings」の版間の差分

ナビゲーションに移動 検索に移動
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>

案内メニュー