diff --git a/qmlprinter.cpp b/qmlprinter.cpp index 0b7e71bd4f0f0a2ba93796ee58242e50c4e61b90..123bb4eb0f1028d81bfb83d039a8f449d49becb4 100644 --- a/qmlprinter.cpp +++ b/qmlprinter.cpp @@ -132,6 +132,11 @@ void QmlPrinter::paintItem(QQuickItem *item, QQuickWindow *window, painter->setClipRect(item->clipRect()); } + if (inherits(item->metaObject(), "QQuickRow") || + inherits(item->metaObject(), "QQuickColumn")) { + QMetaObject::invokeMethod(item,"forceLayout"); + } + item->update(); // This is a bit special case as we need to use childItems instead of children if (inherits(item->metaObject(), "QQuickListView")) { @@ -265,6 +270,7 @@ void QmlPrinter::paintQQuickText(QQuickItem *item, QPainter *painter) const { if (textFormat == Qt::AutoText) { textFormat = Qt::mightBeRichText(text) ? 4 : Qt::PlainText; } + item->polish(); QTextDocument document; document.setPageSize(item->size());