QPrintPreviewDialog Class

The QPrintPreviewDialog class provides a dialog for previewing and configuring page layouts for printer output. More...

Header: #include <QPrintPreviewDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport
Inherits: QDialog

Public Functions

QPrintPreviewDialog(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual ~QPrintPreviewDialog()
void open(QObject *receiver, const char *member)
QPrinter *printer()

Reimplemented Public Functions

virtual void done(int result) override
virtual void setVisible(bool visible) override

Detailed Description

Using QPrintPreviewDialog in your existing application is straightforward:

  1. Create the QPrintPreviewDialog.

    You can construct a QPrintPreviewDialog with an existing QPrinter object, or you can have QPrintPreviewDialog create one for you, which will be the system default printer.

  2. Connect the paintRequested() signal to a slot.

    When the dialog needs to generate a set of preview pages, the paintRequested() signal will be emitted. You can use the exact same code for the actual printing as for having the preview generated, including calling QPrinter::newPage() to start a new page in the preview. Connect a slot to the paintRequested() signal, where you draw onto the QPrinter object that is passed into the slot.

  3. Call exec().

    Call QPrintPreviewDialog::exec() to show the preview dialog.

See also QPrinter, QPrintDialog, QPageSetupDialog, and QPrintPreviewWidget.

Member Function Documentation

[explicit] QPrintPreviewDialog::QPrintPreviewDialog(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

Constructs a QPrintPreviewDialog based on printer and with parent as the parent widget. The widget flags flags are passed on to the QWidget constructor.

See also QWidget::setWindowFlags().

[virtual noexcept] QPrintPreviewDialog::~QPrintPreviewDialog()

Destroys the QPrintPreviewDialog.

[override virtual] void QPrintPreviewDialog::done(int result)

Reimplements: QDialog::done(int r).

void QPrintPreviewDialog::open(QObject *receiver, const char *member)

Opens the dialog and connects its finished(int) signal to the slot specified by receiver and member.

The signal will be disconnected from the slot when the dialog is closed.

QPrinter *QPrintPreviewDialog::printer()

Returns a pointer to the QPrinter object this dialog is currently operating on.

[override virtual] void QPrintPreviewDialog::setVisible(bool visible)

Reimplements: QDialog::setVisible(bool visible).