このページでは

DoubleSpinBox QML Type

ユーザーが、あらかじめ設定された浮動小数点値のセットから選択できるようにします。詳細...

Import Statement: import QtQuick.Controls
Since: Qt 6.11
Inherits:

Control

プロパティ

信号

方法

詳細説明

10進数を表示するスピンボックス

DoubleSpinBoxはSpinBox と似ていますが、整数ではなくdouble型の値をサポートしている点が異なります。ユーザーは、上向きまたは下向きのインジケーターボタンをクリックするか、キーボードの上下キーを押すことで値を選択できます。オプションで、DoubleSpinBoxをeditable に設定することも可能で、その場合はユーザーが入力フィールドにテキスト値を入力できます。

デフォルトでは、DoubleSpinBoxは[0.00-99.99] の範囲内の離散的な値を提供し、stepSize は1.0 に設定されています。

DoubleSpinBox {
    id: doubleSpinBox
    from: 0
    value: 1.1
    to: 100
    stepSize: Math.pow(10, -decimals)
    decimals: 2
    editable: true
    anchors.centerIn: parent
}

「 SpinBox」 、「Tumbler 」、「DoubleSpinBoxのカスタマイズ」、および「Qt Quick コントロールにおけるフォーカス管理」も参照してください 。

プロパティのドキュメント

decimals : int

このプロパティは、スピンボックスがdouble型の値を表示および処理する際に使用する小数点以下の桁数を指定します。

デフォルト値は `2` です。

このプロパティの値を変更すると、from 、to 、およびvalue に影響する可能性があります。

警告: double 型の制限により、decimals の最大値は DBL_MAX_10_EXP + DBL_DIG (323) となります。

displayText : string [read-only]

このプロパティは、スピンボックスのテキスト値を保持します。

このプロパティの値は、textFromValue およびlocale に基づいており、次の通りです。

let text = spinBox.textFromValue(spinBox.value, spinBox.decimals, spinBox.locale)

「textFromValue」も参照してください 。

down group

down.hovered : bool

down.implicitIndicatorHeight : real

down.implicitIndicatorWidth : real

down.indicator : Item

down.pressed : bool

このグループ化されたプロパティには、ダウンインジケーター項目およびそれに関連するプロパティが格納されます。

「decrease()」も参照してください 。

editable : bool

このプロパティは、スピンボックスが編集可能かどうかを示します。デフォルト値はfalse です。

「validator」も参照してください 。

from : double

このプロパティは、範囲の開始値を保持します。デフォルト値は `0.0` です。

「 to 」および「value 」も参照してください 。

inputMethodComposing : bool [read-only]

このプロパティは、編集可能なスピンボックスに入力メソッドから部分的なテキストが入力されているかどうかを表します。

入力処理中、入力メソッドはスピンボックスからのマウスイベントやキーイベントを利用して、部分テキストを編集または確定する場合があります。このプロパティを使用することで、入力メソッドの正常な動作を妨げる可能性のあるイベントハンドラを無効にするタイミングを判断できます。

inputMethodHints : flags [since QtQuick.Controls 2.2 (Qt 5.9)]

このプロパティは、スピンボックスの想定される内容や動作方法について、入力メソッドにヒントを提供します。

デフォルト値は `Qt.ImhDigitsOnly` です。

この値は、フラグのビット単位の組み合わせ、またはヒントが設定されていない場合はQt.ImhNone となります。

動作を変更するフラグは以下の通りです。

  • Qt.ImhHiddenText - パスワードの入力時によくあるように、文字を非表示にする必要があります。
  • Qt.ImhSensitiveData - 入力されたテキストは、アクティブな入力方式によって、予測ユーザー辞書などの永続的なストレージに保存されてはなりません。
  • Qt.ImhNoAutoUppercase - 文の終わりに達しても、入力メソッドは自動的に大文字に切り替えようとしてはなりません。
  • Qt.ImhPreferNumbers - 数字を優先する(必須ではない)。
  • Qt.ImhPreferUppercase - 大文字が優先されます(必須ではありません)。
  • Qt.ImhPreferLowercase - 小文字の使用が推奨されます(必須ではありません)。
  • Qt.ImhNoPredictiveText - 入力中に予測入力(辞書検索)を使用しない。
  • Qt.ImhDate - テキストエディタは日付フィールドとして機能します。
  • Qt.ImhTime - テキストエディタは日時フィールドとして機能します。

入力を制限するフラグ(排他的フラグ)は次のとおりです。

  • Qt.ImhDigitsOnly - 数字のみ入力可能です。
  • Qt.ImhFormattedNumbersOnly - 数値のみの入力のみ許可されます。これには小数点およびマイナス記号が含まれます。
  • Qt.ImhUppercaseOnly - 大文字のみの入力のみ許可されます。
  • Qt.ImhLowercaseOnly - 小文字のみの入力のみ許可されます。
  • Qt.ImhDialableCharactersOnly - 電話番号のダイヤルに使用できる文字のみ許可されます。
  • Qt.ImhEmailCharactersOnly - メールアドレスに適した文字のみ入力可能です。
  • Qt.ImhUrlCharactersOnly - URL に適した文字のみが入力可能です。

マスク:

  • Qt.ImhExclusiveInputMask - 排他フラグのいずれかが使用されている場合、このマスクは 0 以外の値を返します。

このプロパティは、QtQuick.Controls 2.2 (Qt 5.9) で導入されました。

stepSize : double

このプロパティは、ステップサイズを保持します。デフォルト値は1.0 です。

increase() およびdecrease()も参照してください 。

textFromValue : function

このプロパティには、double 型の値を表示テキストに変換する必要があるたびに呼び出されるコールバック関数が格納されています。

デフォルトの関数をオーバーライドすることで、特定の値に対して独自のテキストを表示させることができます。これは、編集可能なスピンボックスと編集不可能なスピンボックスの両方に適用されます。たとえば、上下ボタンやマウスホイールを使用して値を増加または減少させる場合、新しい値はこの関数を使用して表示用テキストに変換されます。

コールバック関数のシグネチャは `string function(value, decimals, locale)` です。この関数は 2 つまたは 3 つの引数を持つことができ、1 番目の引数は変換対象の値、2 番目の引数は小数点以下の桁数、そしてオプションの 3 番目の引数は、該当する場合に変換に使用するロケールです。

デフォルトの実装では、Number.toLocaleString() を使用して変換を行います:

textFromValue: function(value, decimals, locale) {
    return Number(value).toLocaleString(locale, 'f', decimals);
}

注: 編集可能なスピンボックスにカスタムtextFromValue 実装を適用する場合 、カスタムテキストをdouble値に戻すために、対応するvalueFromText 実装も提供する必要があります。

valueFromText 、validator 、およびlocaleも参照してください 。

to : double

このプロパティは、範囲の終了値を保持します。デフォルト値は `99.99` です。

「 from 」および「value 」も参照してください 。

up group

up.hovered : bool

up.implicitIndicatorHeight : real

up.implicitIndicatorWidth : real

up.indicator : Item

up.pressed : bool

このグループ化されたプロパティには、アップインジケーター項目およびそれに関連するプロパティが格納されます。

「increase()」も参照してください 。

validator : Validator

このプロパティは、編集可能なスピンボックスの入力テキストバリデータを持ちます。デフォルトでは、DoubleSpinBox はDoubleValidator を使用して、double型の数値入力を受け付けます。

DoubleSpinBox {
    id: control
    validator: DoubleValidator {
        locale: control.locale.name
        bottom: Math.min(control.from, control.to)
        top: Math.max(control.from, control.to)
    }
}

関連項目: editable 、textFromValue 、valueFromText 、locale 、および「入力テキストの検証」を参照してください 。

value : double

このプロパティの値は、from ~to の範囲内となります。デフォルト値は0.0 です。

valueFromText : function

このプロパティには、入力テキストをdouble型に変換する必要がある際、呼び出されるコールバック関数が格納されています。

この関数は、編集可能なスピンボックスに対してtextFromValue がオーバーライドされた場合にのみ、オーバーライドする必要があります。

コールバック関数のシグネチャは `int function(text, locale)` です。この関数は 1 つまたは 2 つの引数を持つことができ、最初の引数は変換対象のテキスト、オプションの 2 番目の引数は、該当する場合に変換に使用するロケールです。

デフォルトの実装では、Number.fromLocaleString() を使用して変換を行います:

valueFromText: function(text, locale) { return Number.fromLocaleString(locale, text); }

注: 編集可能なスピンボックスにカスタムの `textFromValue ` 実装を適用する場合 、カスタムテキストを double 値に戻すために、対応する `valueFromText ` 実装を提供する必要があります。

textFromValue 、validator 、およびlocaleも参照してください 。

wrap : bool [since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティは、スピンボックスが改行されるかどうかを指定します。デフォルト値は `false` です。

wrap が `true` の場合、to を超えてステップ操作を行うと、値が `from ` に変更され、その逆も同様です。

このプロパティは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

シグナルのドキュメント

valueModified()

このシグナルは、ユーザーがタッチ、マウス、ホイール、またはキー操作のいずれかによって、スピンボックスの値をインタラクティブに変更したときに発火します。キーボードによる操作の場合、このシグナルはテキストが確定されたとき、つまりEnterキーまたはReturnキーが押されたとき、あるいは入力フィールドのフォーカスが外れたときにのみ発火します。

注: 対応するハンドラは `onValueModified` です。

メソッドのドキュメント

void decrease()

値をstepSize だけ減らします。stepSize が定義されていない場合は、1 を割り当てます。

stepSizeも参照してください 。

void increase()

値をstepSize だけ増加させます。stepSize が定義されていない場合は、1 を増加させます。

stepSizeも参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.