2009-05-12 3 views
1

나는 QDoubleSpinBox을 사용하고 작업을 얻을 경우 최소 및 최대 미만 1 0보다 커야 내가 설정 한 경우이고, QDoubleSpinBox의 경우 0.0 <min <max <1.0 범위를 지정할 수 있습니까? 예 어떻게 단계 버튼이

그리고 언젠가 동안

, 나는 범위가 그 범위에서 스핀 박스의 값을 0.0으로 변경하고 스텝 업하면 1.0 범위의 값이됩니다. 이 문제를 피할 수있는 특별한 방법이 있는지 알고 싶습니다.

답변

2

Parker가 말한 것처럼 setSingleStep()을 사용하여 1.0 씩 증가하지 않아야합니다.

더 중요한 점은 "배타적"범위에 대한 지원이 없다는 것입니다. 즉, 0과 1.0 값을 사용할 수 있기를 원하지 않는 한 범위를 0에서 1.0으로 지정할 수 없습니다. 당신이 당신의 스텝 크기를 결정하면

대신, 당신은 잠재적으로 최소 및 최대과 같이 설정할 수 있습니다 :

minimum = exclusive_minimum + step_size 
maximum = exclusive_maximum - step_size 

그러나이 사용자가 스텝 크기 사이의 값을 선택할 수 있기 때문에 바람직하지 않을 수있다 스핀 상자에 직접 입력하십시오. 그래서 더 좋은 해결책은 spinbox가 얼마나 정확하게 소수점 이하 자릿수를 선택하고, 최소값과 최대 값을 exclusive_minimum과 exclusive_maximum 값에 가장 가까운 가장 작은 것과 가장 큰 수로 설정하는 것입니다.

예를 들어, exclusive_minimum이 0.0이고 exclusive_maximum이 1.0이고 소수점 다섯 자리까지 정확하면 최소값을 0.00001, 최대 값을 0.99999로 설정하십시오.

관련 문제