18 : QDoubleSpinBox(parent)
20 buttonMinimum = -std::numeric_limits<double>::max();
21 buttonMaximum = std::numeric_limits<double>::max();
22 this->precision = precision;
23 setKeyboardTracking(
false);
24 setMinimum(buttonMinimum);
25 setMaximum(buttonMaximum);
33 double v = valueFromText(text());
34 QAbstractSpinBox::StepEnabled e = 0;
35 if (v > buttonMinimum)
37 if (v < buttonMaximum)
47 double _value = valueFromText(text());
48 double _singleStep = singleStep();
52 if (_value + steps * _singleStep < buttonMinimum)
54 setValue(buttonMinimum);
57 else if (_value + steps * _singleStep > buttonMaximum)
59 setValue(buttonMaximum);
64 QDoubleSpinBox::stepBy(steps);
73 QString newLineEditText = QLocale().toString(value,
'g', precision);
75 if (qAbs(value) >= 1000.0)
76 newLineEditText.remove(QLocale().groupSeparator());
78 return newLineEditText;
86 this->buttonMinimum = buttonMinimum;
94 this->buttonMaximum = buttonMaximum;
102 double normalized = ((double)value - sliderMin) / (sliderMax - sliderMin);
103 return valueMin + (normalized * (valueMax - valueMin));
111 double normalized = (value - valueMin) / (valueMax - valueMin);
112 int rounded = (int) (normalized * (sliderMax - sliderMin));
113 return sliderMin + rounded;
122 Qt::FocusReason reason =
event->reason();
125 if( reason == Qt::MouseFocusReason ||
126 reason == Qt::TabFocusReason ||
127 reason == Qt::BacktabFocusReason )
128 QDoubleSpinBox::focusOutEvent(event);
147 QDoubleSpinBox::hideEvent(event);