aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml')
-rw-r--r--src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml b/src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml
new file mode 100644
index 0000000000..ec1273d1af
--- /dev/null
+++ b/src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml
@@ -0,0 +1,40 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+import QtQuick
+import QtQuick.Controls
+
+//! [1]
+SpinBox {
+ id: spinBox
+ from: 0
+ value: decimalToInt(1.1)
+ to: decimalToInt(100)
+ stepSize: decimalFactor
+ editable: true
+ anchors.centerIn: parent
+
+ property int decimals: 2
+ property real realValue: value / decimalFactor
+ readonly property int decimalFactor: Math.pow(10, decimals)
+
+ function decimalToInt(decimal) {
+ return decimal * decimalFactor
+ }
+
+ validator: DoubleValidator {
+ bottom: Math.min(spinBox.from, spinBox.to)
+ top: Math.max(spinBox.from, spinBox.to)
+ decimals: spinBox.decimals
+ notation: DoubleValidator.StandardNotation
+ }
+
+ textFromValue: function(value, locale) {
+ return Number(value / decimalFactor).toLocaleString(locale, 'f', spinBox.decimals)
+ }
+
+ valueFromText: function(text, locale) {
+ return Math.round(Number.fromLocaleString(locale, text) * decimalFactor)
+ }
+}
+//! [1]