15void QQuickStyleItemSpinBox::connectToControl()
const
17 QQuickStyleItem::connectToControl();
18 auto spinbox = control<QQuickSpinBox>();
19 connect(spinbox->up(), &QQuickIndicatorButton::pressedChanged,
this, &QQuickStyleItem::markImageDirty);
20 connect(spinbox->down(), &QQuickIndicatorButton::pressedChanged,
this, &QQuickStyleItem::markImageDirty);
23StyleItemGeometry QQuickStyleItemSpinBox::calculateGeometry()
25 QStyleOptionSpinBox styleOption;
26 initStyleOption(styleOption);
27 StyleItemGeometry geometry;
29 geometry.minimumSize = style()->sizeFromContents(QStyle::CT_SpinBox, &styleOption, QSize(0, 0));
31 if (styleOption.subControls == QStyle::SC_SpinBoxFrame) {
32 geometry.implicitSize = style()->sizeFromContents(QStyle::CT_SpinBox, &styleOption, contentSize());
33 styleOption.rect = QRect(QPoint(0, 0), geometry.implicitSize);
34 geometry.contentRect = style()->subControlRect(QStyle::CC_SpinBox, &styleOption, QStyle::SC_SpinBoxEditField);
35 geometry.layoutRect = style()->subElementRect(QStyle::SE_SpinBoxLayoutItem, &styleOption);
36 geometry.ninePatchMargins = style()->ninePatchMargins(QStyle::CC_SpinBox, &styleOption, geometry.minimumSize);
37 geometry.focusFrameRadius = style()->pixelMetric(QStyle::PM_SpinBoxFocusFrameRadius, &styleOption);
39 geometry.implicitSize = geometry.minimumSize;
45void QQuickStyleItemSpinBox::paintEvent(QPainter *painter)
const
47 QStyleOptionSpinBox styleOption;
48 initStyleOption(styleOption);
49 style()->drawComplexControl(QStyle::CC_SpinBox, &styleOption, painter);