diff options
Diffstat (limited to 'src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml')
-rw-r--r-- | src/quickcontrols/doc/snippets/qtquickcontrols-spinbox-double.qml | 40 |
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] |