DoubleSpinBox QML Type
Ermöglicht es dem Benutzer, aus einer Reihe voreingestellter Gleitkommawerte auszuwählen. Mehr...
| Import Statement: | import QtQuick.Controls |
| Since: | Qt 6.11 |
| Inherits: |
Eigenschaften
- decimals : int
- displayText : string
- down
- down.hovered : bool
- down.implicitIndicatorHeight : real
- down.implicitIndicatorWidth : real
- down.indicator : Item
- down.pressed : bool
- editable : bool
- from : double
- inputMethodComposing : bool
- inputMethodHints : flags
(since QtQuick.Controls 2.2 (Qt 5.9)) - stepSize : double
- textFromValue : function
- to : double
- up
- up.hovered : bool
- up.implicitIndicatorHeight : real
- up.implicitIndicatorWidth : real
- up.indicator : Item
- up.pressed : bool
- validator : Validator
- value : double
- valueFromText : function
- wrap : bool
(since QtQuick.Controls 2.3 (Qt 5.10))
Signale
Methoden
Ausführliche Beschreibung

DoubleSpinBox ähnelt SpinBox, unterstützt jedoch Double-Werte anstelle von Ganzzahlen. Der Benutzer kann einen Wert auswählen, indem er auf die Aufwärts- oder Abwärts-Schaltflächen klickt oder die Aufwärts- bzw. Abwärts-Taste auf der Tastatur drückt. Optional kann DoubleSpinBox auch als editable eingerichtet werden, sodass der Benutzer einen Textwert in das Eingabefeld eingeben kann.
Standardmäßig bietet DoubleSpinBox diskrete Werte im Bereich von „ [0.00-99.99] “ mit einem „ stepSize “ von „ 1.0 “ an.
DoubleSpinBox {
id: doubleSpinBox
from: 0
value: 1.1
to: 100
stepSize: Math.pow(10, -decimals)
decimals: 2
editable: true
anchors.centerIn: parent
}Siehe auch SpinBox, Tumbler, „Anpassen von DoubleSpinBox“ und „Fokusverwaltung“ unter Qt Quick Controls.
Dokumentation zu den Eigenschaften
decimals : int
Diese Eigenschaft legt fest, wie viele Dezimalstellen die Spinbox zur Anzeige und Auswertung von Double-Werten verwendet.
Der Standardwert ist „ 2 “.
Eine Änderung des Werts dieser Eigenschaft kann sich auf „ from “, „ to “ und „ value “ auswirken.
Warnung: Der Maximalwert für „ decimals “ beträgt „ DBL_MAX_10_EXP + DBL_DIG “ („323 “), da der Typ „double“ Einschränkungen unterliegt.
displayText : string [read-only]
Diese Eigenschaft enthält den Textwert des Spinbox-Feldes.
Der Wert der Eigenschaft basiert auf textFromValue und locale und entspricht:
let text = spinBox.textFromValue(spinBox.value, spinBox.decimals, spinBox.locale)Siehe auch textFromValue.
down group
down.hovered : bool
down.implicitIndicatorHeight : real
down.implicitIndicatorWidth : real
down.indicator : Item
down.pressed : bool
Diese gruppierte Eigenschaft enthält das Element „Down“ und die dazugehörigen Eigenschaften.
Siehe auch „ decrease()“.
editable : bool
Diese Eigenschaft gibt an, ob das Spinbox-Feld bearbeitbar ist. Der Standardwert lautet „ false “.
Siehe auch „ validator “.
from : double
Diese Eigenschaft enthält den Startwert für den Bereich. Der Standardwert lautet „ 0.0 “.
Siehe auch „ to “ und „ value “.
inputMethodComposing : bool [read-only]
Diese Eigenschaft gibt an, ob in ein bearbeitbares Spin-Feld bereits eine Teileingabe aus einer Eingabemethode vorliegt.
Während der Eingabe kann eine Eingabemethode auf Maus- oder Tastenereignisse des Spin-Feldes zurückgreifen, um den Teiltext zu bearbeiten oder zu übernehmen. Diese Eigenschaft kann verwendet werden, um zu bestimmen, wann Ereignisbehandler deaktiviert werden sollten, die den korrekten Betrieb einer Eingabemethode beeinträchtigen könnten.
inputMethodHints : flags [since QtQuick.Controls 2.2 (Qt 5.9)]
Diese Eigenschaft liefert der Eingabemethode Hinweise zum erwarteten Inhalt des Spin-Feldes und zu dessen Funktionsweise.
Der Standardwert ist „ Qt.ImhDigitsOnly “.
Der Wert ist eine bitweise Kombination aus Flags oder „ Qt.ImhNone “, wenn keine Hinweise festgelegt sind.
Flagge, die das Verhalten ändern, sind:
- Qt.ImhHiddenText – Zeichen sollten ausgeblendet werden, wie es typischerweise bei der Eingabe von Passwörtern der Fall ist.
- Qt.ImhSensitiveData – Der eingegebene Text sollte von der aktiven Eingabemethode nicht in einem dauerhaften Speicher, wie z. B. einem benutzerdefinierten Wörterbuch zur Wortvorhersage, gespeichert werden.
- Qt.ImhNoAutoUppercase – Die Eingabemethode sollte nicht versuchen, am Satzende automatisch auf Großbuchstaben umzuschalten.
- Qt.ImhPreferNumbers – Zahlen werden bevorzugt (sind aber nicht erforderlich).
- Qt.ImhPreferUppercase – Großbuchstaben werden bevorzugt (sind aber nicht zwingend erforderlich).
- Qt.ImhPreferLowercase – Kleinbuchstaben werden bevorzugt (sind aber nicht erforderlich).
- Qt.ImhNoPredictiveText – Während der Eingabe soll keine Texterkennung (d. h. keine Wörterbuchsuche) verwendet werden.
- Qt.ImhDate – Der Texteditor fungiert als Datumsfeld.
- Qt.ImhTime – Der Texteditor fungiert als Zeitfeld.
Flags, die die Eingabe einschränken (exklusive Flags), sind:
- Qt.ImhDigitsOnly – Es sind nur Ziffern zulässig.
- Qt.ImhFormattedNumbersOnly – Es ist nur die Eingabe von Zahlen erlaubt. Dazu gehören Dezimalpunkt und Minuszeichen.
- Qt.ImhUppercaseOnly – Es dürfen nur Großbuchstaben eingegeben werden.
- Qt.ImhLowercaseOnly – Es dürfen nur Kleinbuchstaben eingegeben werden.
- Qt.ImhDialableCharactersOnly – Es sind nur Zeichen erlaubt, die für die Telefonwahl geeignet sind.
- Qt.ImhEmailCharactersOnly – Es sind nur Zeichen erlaubt, die für E-Mail-Adressen geeignet sind.
- Qt.ImhUrlCharactersOnly – Es sind nur Zeichen zulässig, die für URLs geeignet sind.
Masken:
- Qt.ImhExclusiveInputMask – Diese Maske liefert einen Wert ungleich Null, wenn eines der Ausschlussflags verwendet wird.
Diese Eigenschaft wurde in QtQuick.Controls 2.2 (Qt 5.9) eingeführt.
stepSize : double
Diese Eigenschaft enthält die Schrittweite. Der Standardwert lautet „ 1.0 “.
Siehe auch „ increase()“ und „ decrease()“.
textFromValue : function
Diese Eigenschaft enthält eine Callback-Funktion, die immer dann aufgerufen wird, wenn ein Double-Wert zur Anzeige als Text konvertiert werden muss.
Die Standardfunktion kann überschrieben werden, um für einen bestimmten Wert benutzerdefinierten Text anzuzeigen. Dies gilt sowohl für bearbeitbare als auch für nicht bearbeitbare Spinboxen; wenn beispielsweise die Auf- und Ab-Schaltflächen oder das Mausrad zum Erhöhen oder Verringern des Werts verwendet werden, wird der neue Wert mithilfe dieser Funktion in Anzeigetext umgewandelt.
Die Signatur der Callback-Funktion lautet „ string function(value, decimals, locale) “. Die Funktion kann zwei oder drei Argumente haben, wobei das erste Argument der zu konvertierende Wert ist, das zweite Argument die Anzahl der Dezimalstellen und das optionale dritte Argument gegebenenfalls die für die Konvertierung zu verwendende Ländereinstellung.
Die Standardimplementierung führt die Konvertierung mit ` Number.toLocaleString()` durch:
textFromValue: function(value, decimals, locale) {
return Number(value).toLocaleString(locale, 'f', decimals);
}Hinweis: Bei der Verwendung einer benutzerdefinierten Implementierung von ` textFromValue ` für bearbeitbare Spinboxen muss eine entsprechende Implementierung von ` valueFromText ` bereitgestellt werden, um den benutzerdefinierten Text wieder in einen Double-Wert umwandeln zu können.
Siehe auch „ valueFromText “, „ validator “ und „ locale “.
to : double
Diese Eigenschaft enthält den Endwert des Bereichs. Der Standardwert lautet „ 99.99 “.
Siehe auch „ from “ und „ value “.
up group
up.hovered : bool
up.implicitIndicatorHeight : real
up.implicitIndicatorWidth : real
up.indicator : Item
up.pressed : bool
Diese gruppierte Eigenschaft enthält das Element „Up-Indikator“ und die dazugehörigen Eigenschaften.
Siehe auch „ increase()“.
validator : Validator
Diese Eigenschaft enthält die Validierungsfunktion für den Eingabetext in bearbeitbaren Spinboxen. Standardmäßig verwendet „ DoubleSpinBox “ die Funktion „ DoubleValidator “, um die Eingabe von Zahlen vom Typ „double“ zuzulassen.
DoubleSpinBox {
id: control
validator: DoubleValidator {
locale: control.locale.name
bottom: Math.min(control.from, control.to)
top: Math.max(control.from, control.to)
}
}Siehe auch „ editable“ , „ textFromValue “, „ valueFromText “, „ locale “ und „Validierung von Eingabetext“.
value : double
Diese Eigenschaft nimmt Werte im Bereich von from bis to an. Der Standardwert lautet 0.0.
valueFromText : function
Diese Eigenschaft enthält eine Callback-Funktion, die immer dann aufgerufen wird, wenn Eingabetext in einen Double-Wert umgewandelt werden muss.
Diese Funktion muss nur überschrieben werden, wenn „ textFromValue “ für ein bearbeitbares Spinbox-Feld überschrieben wird.
Die Signatur der Callback-Funktion lautet ` int function(text, locale)`. Die Funktion kann ein oder zwei Argumente haben, wobei das erste Argument der zu konvertierende Text ist und das optionale zweite Argument gegebenenfalls die für die Konvertierung zu verwendende Locale angibt.
Die Standardimplementierung führt die Konvertierung mithilfe von ` Number.fromLocaleString()` durch:
valueFromText: function(text, locale) { return Number.fromLocaleString(locale, text); }Hinweis: Bei der Verwendung einer benutzerdefinierten Implementierung von ` textFromValue ` für bearbeitbare Spinboxen muss eine entsprechende Implementierung von ` valueFromText ` bereitgestellt werden, um den benutzerdefinierten Text wieder in einen Double-Wert konvertieren zu können.
Siehe auch „ textFromValue “, „ validator “ und „ locale “.
wrap : bool [since QtQuick.Controls 2.3 (Qt 5.10)]
Diese Eigenschaft legt fest, ob die Spinbox umbricht. Der Standardwert ist „ false “.
Wenn „wrap“ auf „ true “ gesetzt ist, ändert sich der Wert bei einem Schritt über „ to “ hinaus zu „ from “ und umgekehrt.
Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.
Signal-Dokumentation
valueModified()
Dieses Signal wird ausgelöst, wenn der Wert des Spin-Feldes vom Benutzer interaktiv geändert wurde – sei es per Touch, Maus, Scrollrad oder Tastatur. Bei einer Interaktion über die Tastatur wird das Signal erst ausgelöst, wenn der Text übernommen wurde, d. h. wenn die Eingabetaste gedrückt wird oder das Eingabefeld den Fokus verliert.
Hinweis: Der entsprechende Handler lautet „ onValueModified “.
Methodendokumentation
void decrease()
Verringert den Wert um stepSize oder um 1, falls stepSize nicht definiert ist.
Siehe auch stepSize.
void increase()
Erhöht den Wert um stepSize oder um 1, falls stepSize nicht definiert ist.
Siehe auch 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.