diff options
-rw-r--r-- | src/quickcontrols2/qquickiconlabel.cpp | 3 | ||||
-rw-r--r-- | tests/auto/qquickiconlabel/tst_qquickiconlabel.cpp | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/quickcontrols2/qquickiconlabel.cpp b/src/quickcontrols2/qquickiconlabel.cpp index 6232b48c..37e6060a 100644 --- a/src/quickcontrols2/qquickiconlabel.cpp +++ b/src/quickcontrols2/qquickiconlabel.cpp @@ -233,6 +233,7 @@ static QRectF alignedRect(bool mirrored, Qt::Alignment alignment, const QSizeF & void QQuickIconLabelPrivate::layout() { + Q_Q(QQuickIconLabel); if (!componentComplete) return; @@ -327,6 +328,8 @@ void QQuickIconLabelPrivate::layout() } break; } + + q->setBaselineOffset(label ? label->y() + label->baselineOffset() : 0); } static const QQuickItemPrivate::ChangeTypes itemChangeTypes = diff --git a/tests/auto/qquickiconlabel/tst_qquickiconlabel.cpp b/tests/auto/qquickiconlabel/tst_qquickiconlabel.cpp index 1f00d8e7..0ecc95c5 100644 --- a/tests/auto/qquickiconlabel/tst_qquickiconlabel.cpp +++ b/tests/auto/qquickiconlabel/tst_qquickiconlabel.cpp @@ -216,6 +216,11 @@ void tst_qquickiconlabel::display() QCOMPARE(label->implicitHeight(), qMax(icon->implicitHeight(), text->implicitHeight()) + verticalPadding); break; } + + if (text) + QCOMPARE(label->baselineOffset(), text->y() + text->baselineOffset()); + else + QCOMPARE(label->baselineOffset(), 0); } } |