QPrintPreviewDialog Class

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

Header: #include <QPrintPreviewDialog>
qmake: QT += printsupport
Since: Qt 4.4
Inherits: QDialog

Public Functions

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

Reimplemented Public Functions

virtual void done(int result)
virtual void setVisible(bool visible)
  • 8 public functions inherited from QDialog
  • 211 public functions inherited from QWidget
  • 31 public functions inherited from QObject
  • 14 public functions inherited from QPaintDevice


void paintRequested(QPrinter *printer)

Additional Inherited Members

  • 2 properties inherited from QDialog
  • 58 properties inherited from QWidget
  • 1 property inherited from QObject
  • 5 public slots inherited from QDialog
  • 19 public slots inherited from QWidget
  • 1 public slot inherited from QObject
  • 5 static public members inherited from QWidget
  • 11 static public members inherited from QObject
  • 7 protected functions inherited from QDialog
  • 35 protected functions inherited from QWidget
  • 9 protected functions inherited from QObject
  • 1 protected function inherited from QPaintDevice
  • 1 protected slot inherited from QWidget

Detailed Description

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

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

QPrintPreviewDialog::QPrintPreviewDialog(QPrinter *printer, QWidget *parent = Q_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().

QPrintPreviewDialog::QPrintPreviewDialog(QWidget *parent = Q_NULLPTR, Qt::WindowFlags flags = Qt::WindowFlags())

This is an overloaded function.

This will create an internal QPrinter object, which will use the system default printer.


Destroys the QPrintPreviewDialog.

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

Reimplemented from QDialog::done().

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

This is an overloaded function.

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.

This function was introduced in Qt 4.5.

[signal] void QPrintPreviewDialog::paintRequested(QPrinter *printer)

This signal is emitted when the QPrintPreviewDialog needs to generate a set of preview pages.

The printer instance supplied is the paint device onto which you should paint the contents of each page, using the QPrinter instance in the same way as you would when printing directly.

QPrinter *QPrintPreviewDialog::printer()

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

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

Reimplemented from QWidget::setVisible().

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.