このページでは

DoubleSpinBox QML Type

プリセットされた浮動小数点値のセットから選択できるようにします。詳細...

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

Control

プロパティ

信号

方法

詳細説明

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

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

デフォルトでは、DoubleSpinBox は、[0.00-99.99] の範囲の離散値を提供し、stepSize1.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 Controls のフォーカス管理も参照してください

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

decimals : int

このプロパティは、スピンボックスが倍数の表示と解釈に使用する小数点以下の桁数を保持します。

デフォルト値は2 です。

このプロパティの値を変更すると、fromtovalue に影響を与える可能性があります。

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

displayText : string [read-only]

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

このプロパティの値はtextFromValuelocale に基づいており、等しい:

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 - 入力されたテキストは、Active Inputメソッドによって、予測辞書のような永続的なストレージに保存されません。
  • 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 - 排他的フラグが使用されている場合、このマスクはゼロ以外を返します。

このプロパティは 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 実装を適用する場合、カスタムテキストをダブル値に変換するために、一致するvalueFromText 実装を提供する必要があります。

valueFromTextvalidatorlocaleも参照してください

to : int

このプロパティは範囲の終了値を保持する。デフォルト値は2 です。

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

up group

up.hovered : bool

up.implicitIndicatorHeight : real

up.implicitIndicatorWidth : real

up.indicator : Item

up.pressed : bool

このグループ化されたプロパティは、アップ・インジケータ項目とその関連プロパティを保持する。

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

validator : Validator

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

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

このプロパティは、入力テキストをダブル値に変換する必要があるときに呼び出されるコールバック関数を保持します。

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

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

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

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

注意: 編集可能なスピンボックスに対してカスタムtextFromValue 実装を適用する場合、カスタムテキストをダブル値に変換して戻すことができるように、一致するvalueFromText 実装を提供しなければなりません。

textFromValuevalidatorlocaleも参照してください

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

このプロパティは、スピンボックスがラップするかどうかを保持します。デフォルト値はfalse です。

wrap がtrue の場合、to を過ぎると値はfrom に変わり、その逆も同様です。

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

Signal ドキュメント

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.