From 78a574f0282017d939defc5327fbab1ca7c28f27 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Mon, 11 Jul 2022 20:48:29 +0200 Subject: Doc: Adjust widget printing example to not use removed functions QPrinter::pageRect() and paperRect() were deprecated in Qt5 and removed in Qt6 without adjusting the snippet. Change-Id: I7787283ccfeeb94bccf464bfee2bcf82f5d3d930 Reviewed-by: Volker Hilsheimer --- src/printsupport/doc/snippets/widgetprinting.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/printsupport/doc/snippets/widgetprinting.cpp') diff --git a/src/printsupport/doc/snippets/widgetprinting.cpp b/src/printsupport/doc/snippets/widgetprinting.cpp index 9f50db27826..cdcc66ea632 100644 --- a/src/printsupport/doc/snippets/widgetprinting.cpp +++ b/src/printsupport/doc/snippets/widgetprinting.cpp @@ -39,13 +39,16 @@ private slots: //! [0] QPainter painter; painter.begin(&printer); - double xscale = printer.pageRect().width() / double(myWidget->width()); - double yscale = printer.pageRect().height() / double(myWidget->height()); + const auto pageLayout = printer.pageLayout(); + const auto pageRect = pageLayout.paintRectPixels(printer.resolution()); + const auto paperRect = pageLayout.fullRectPixels(printer.resolution()); + double xscale = pageRect.width() / double(myWidget->width()); + double yscale = pageRect.height() / double(myWidget->height()); double scale = qMin(xscale, yscale); - painter.translate(printer.paperRect().x() + printer.pageRect().width()/2, - printer.paperRect().y() + printer.pageRect().height()/2); + painter.translate(pageRect.x() + paperRect.width() / 2., + pageRect.y() + paperRect.height() / 2.); painter.scale(scale, scale); - painter.translate(-width()/2, -height()/2); + painter.translate(-myWidget->width() / 2., -myWidget->height() / 2.); myWidget->render(&painter); //! [0] @@ -62,9 +65,8 @@ private slots: dialog.setWindowTitle(tr("Print Document")); if (editor->textCursor().hasSelection()) dialog.addEnabledOption(QAbstractPrintDialog::PrintSelection); - if (dialog.exec() != QDialog::Accepted) { + if (dialog.exec() != QDialog::Accepted) return; - } //! [1] editor->print(&printer); #endif -- cgit v1.2.3