5 #include <QStyleOptionSpinBox> 21 m_minimumHidden(false)
23 const QMargins margins = contentsMargins();
24 QStyleOptionComboBox opt;
26 const int frameWidth = style()->pixelMetric(QStyle::PM_SpinBoxFrameWidth, &opt,
this);
28 const int buttonWidth = style()->subControlRect(QStyle::CC_SpinBox, &opt, QStyle::SC_SpinBoxUp,
this).width() + 10;
29 buttonLayout()->setContentsMargins(margins.left() + frameWidth + pad, margins.top() + frameWidth, margins.right() + frameWidth + pad + buttonWidth, margins.bottom() + frameWidth);
31 connect(
this,
static_cast<void (
ClearSpinBox::*)(
int)
>(&ClearSpinBox::valueChanged),
this, &ClearSpinBox::handleValueChanged);
43 void ClearSpinBox::handleValueChanged(
int value)
48 void ClearSpinBox::handleClearButtonClicked()
55 return value() == minimum();
60 if(m_minimumHidden && text.isEmpty()) {
63 return QSpinBox::valueFromText(text);
69 if(m_minimumHidden && (val == minimum())) {
72 return QSpinBox::textFromValue(val);