5 #include <QStyleOptionSpinBox>
22 , m_minimumHidden(false)
24 const QMargins margins = contentsMargins();
25 QStyleOptionComboBox opt;
27 const int frameWidth = style()->pixelMetric(QStyle::PM_SpinBoxFrameWidth, &opt,
this);
29 const int buttonWidth = style()->subControlRect(QStyle::CC_SpinBox, &opt, QStyle::SC_SpinBoxUp,
this).width() + 10;
30 buttonLayout()->setContentsMargins(margins.left() + frameWidth + pad, margins.top() + frameWidth,
31 margins.right() + frameWidth + pad + buttonWidth, margins.bottom() + frameWidth);
33 connect(
this,
static_cast<void (
ClearSpinBox::*)(
int)
>(&ClearSpinBox::valueChanged),
this, &ClearSpinBox::handleValueChanged);
46 void ClearSpinBox::handleValueChanged(
int value)
51 void ClearSpinBox::handleClearButtonClicked()
58 return value() == minimum();
63 if (m_minimumHidden &&
text.isEmpty()) {
66 return QSpinBox::valueFromText(
text);
72 if (m_minimumHidden && (val == minimum())) {
75 return QSpinBox::textFromValue(val);