이 페이지에서

DoubleSpinBox QML Type

사용자가 미리 설정된 부동 소수점 값 집합 중에서 선택할 수 있게 합니다. 더 보기...

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

Control

속성

신호

방법

상세 설명

소수 값을 표시하는 스핀 박스

DoubleSpinBox는 SpinBox 과 유사하지만, 정수 대신 실수 값을 지원한다는 점이 다릅니다. 사용자는 위쪽 또는 아래쪽 방향 버튼을 클릭하거나 키보드의 위쪽/아래쪽 화살표 키를 눌러 값을 선택할 수 있습니다. 선택적으로 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 Controls 의 포커스 관리항목도 참조하십시오 .

속성 설명서

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)`입니다. 이 함수는 두 개 또는 세 개의 인자를 가질 수 있으며, 첫 번째 인자는 변환할 값, 두 번째 인자는 소수점 자리 수, 선택 사항인 세 번째 인자는 해당되는 경우 변환에 사용해야 할 로케일입니다.

기본 구현은 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) 입니다. 이 함수는 하나 또는 두 개의 인자를 가질 수 있으며, 첫 번째 인자는 변환할 텍스트이고, 선택적인 두 번째 인자는 해당되는 경우 변환에 사용해야 할 로케일입니다.

기본 구현은 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.