- Qt 6.8
- Qt Print Support
- C++ Classes
- QPrintPreviewWidget
- Qt 6.8.3 Reference Documentation

# QPrintPreviewWidget Class

The QPrintPreviewWidget class provides a widget for previewing page layouts for printer output. More...

Header: | `#include <QPrintPreviewWidget>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS PrintSupport)` `target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)`
qmake: | `QT += printsupport`
Inherits: | QWidget

- List of all members, including inherited members
- QPrintPreviewWidget is part of Printer and Printing APIs.

## Public Types

enum | ViewMode { SinglePageView, FacingPagesView, AllPagesView }
enum | ZoomMode { CustomZoom, FitToWidth, FitInView }

## Public Functions

| QPrintPreviewWidget(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
| QPrintPreviewWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual | ~QPrintPreviewWidget()
int | currentPage() const
QPageLayout::Orientation | orientation() const
int | pageCount() const
QPrintPreviewWidget::ViewMode | viewMode() const
qreal | zoomFactor() const
QPrintPreviewWidget::ZoomMode | zoomMode() const

## Reimplemented Public Functions

virtual void | setVisible(bool visible) override

## Public Slots

void | fitInView()
void | fitToWidth()
void | print()
void | setAllPagesViewMode()
void | setCurrentPage(int page)
void | setFacingPagesViewMode()
void | setLandscapeOrientation()
void | setOrientation(QPageLayout::Orientation orientation)
void | setPortraitOrientation()
void | setSinglePageViewMode()
void | setViewMode(QPrintPreviewWidget::ViewMode mode)
void | setZoomFactor(qreal factor)
void | setZoomMode(QPrintPreviewWidget::ZoomMode zoomMode)
void | updatePreview()
void | zoomIn(qreal factor = 1.1)
void | zoomOut(qreal factor = 1.1)

## Signals

void | paintRequested(QPrinter *printer)
void | previewChanged()

## Detailed Description

QPrintPreviewDialog uses a QPrintPreviewWidget internally, and the purpose of QPrintPreviewWidget is to make it possible to embed the preview into other widgets. It also makes it possible to build a different user interface around it than the default one provided with QPrintPreviewDialog.

Using QPrintPreviewWidget is straightforward:

1. Create the QPrintPreviewWidget

   Construct the QPrintPreviewWidget either by passing in an existing QPrinter object, or have QPrintPreviewWidget create a default constructed QPrinter object for you.

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

   When the widget needs to generate a set of preview pages, a paintRequested() signal will be emitted from the widget. Connect a slot to this signal, and draw onto the QPrinter passed in as a signal parameter. Call QPrinter::newPage(), to start a new page in the preview.

See also QPrinter, QPrintDialog, QPageSetupDialog, and QPrintPreviewDialog.

## Member Type Documentation

### enum QPrintPreviewWidget::ViewMode

This enum is used to describe the view mode of the preview widget.

Constant | Value | Description
--- | --- | ---
`QPrintPreviewWidget::SinglePageView` | `0` | A mode where single pages in the preview is viewed.
`QPrintPreviewWidget::FacingPagesView` | `1` | A mode where the facing pages in the preview is viewed.
`QPrintPreviewWidget::AllPagesView` | `2` | A view mode where all the pages in the preview is viewed.

### enum QPrintPreviewWidget::ZoomMode

This enum is used to describe zoom mode of the preview widget.

Constant | Value | Description
--- | --- | ---
`QPrintPreviewWidget::CustomZoom` | `0` | The zoom is set to a custom zoom value.
`QPrintPreviewWidget::FitToWidth` | `1` | This mode fits the current page to the width of the view.
`QPrintPreviewWidget::FitInView` | `2` | This mode fits the current page inside the view.

## Member Function Documentation

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

Constructs a QPrintPreviewWidget 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().

### `[explicit]` QPrintPreviewWidget::QPrintPreviewWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

This is an overloaded function.

This will cause QPrintPreviewWidget to create an internal, default constructed QPrinter object, which will be used to generate the preview.

### `[virtual noexcept]` QPrintPreviewWidget::~QPrintPreviewWidget()

Destroys the QPrintPreviewWidget.

### int QPrintPreviewWidget::currentPage() const

Returns the currently viewed page in the preview.

See also setCurrentPage().

### `[slot]` void QPrintPreviewWidget::fitInView()

This is a convenience function and is the same as calling `setZoomMode(QPrintPreviewWidget::FitInView)`.

### `[slot]` void QPrintPreviewWidget::fitToWidth()

This is a convenience function and is the same as calling `setZoomMode(QPrintPreviewWidget::FitToWidth)`.

### QPageLayout::Orientation QPrintPreviewWidget::orientation() const

Returns the current orientation of the preview. This value is obtained from the QPrinter object associated with the preview.

See also setOrientation().

### int QPrintPreviewWidget::pageCount() const

Returns the number of pages in the preview.

### `[signal]` void QPrintPreviewWidget::paintRequested(QPrinter *printer)

This signal is emitted when the preview widget needs to generate a set of preview pages. printer is the printer associated with this preview widget.

### `[signal]` void QPrintPreviewWidget::previewChanged()

This signal is emitted whenever the preview widget has changed some internal state, such as the orientation.

### `[slot]` void QPrintPreviewWidget::print()

Prints the preview to the printer associated with the preview.

### `[slot]` void QPrintPreviewWidget::setAllPagesViewMode()

This is a convenience function and is the same as calling `setViewMode(QPrintPreviewWidget::AllPagesView)`.

### `[slot]` void QPrintPreviewWidget::setCurrentPage(int page)

Sets the current page in the preview. This will cause the view to skip to the beginning of page.

See also currentPage().

### `[slot]` void QPrintPreviewWidget::setFacingPagesViewMode()

This is a convenience function and is the same as calling `setViewMode(QPrintPreviewWidget::FacingPagesView)`.

### `[slot]` void QPrintPreviewWidget::setLandscapeOrientation()

This is a convenience function and is the same as calling `setOrientation(QPageLayout::Landscape)`.

### `[slot]` void QPrintPreviewWidget::setOrientation(QPageLayout::Orientation orientation)

Sets the current orientation to orientation. This value will be set on the QPrinter object associated with the preview.

See also orientation().

### `[slot]` void QPrintPreviewWidget::setPortraitOrientation()

This is a convenience function and is the same as calling `setOrientation(QPageLayout::Portrait)`.

### `[slot]` void QPrintPreviewWidget::setSinglePageViewMode()

This is a convenience function and is the same as calling `setViewMode(QPrintPreviewWidget::SinglePageView)`.

### `[slot]` void QPrintPreviewWidget::setViewMode(QPrintPreviewWidget::ViewMode mode)

Sets the view mode to mode. The default view mode is SinglePageView.

See also viewMode().

### `[override virtual]` void QPrintPreviewWidget::setVisible(bool visible)

### `[slot]` void QPrintPreviewWidget::setZoomFactor(qreal factor)

Sets the zoom factor of the view to factor. For example, a value of 1.0 indicates an unscaled view, which is approximately the size the view will have on paper. A value of 0.5 will halve the size of the view, while a value of 2.0 will double the size of the view.

See also zoomFactor().

### `[slot]` void QPrintPreviewWidget::setZoomMode(QPrintPreviewWidget::ZoomMode zoomMode)

Sets the zoom mode to zoomMode. The default zoom mode is FitInView.

See also zoomMode(), viewMode(), and setViewMode().

### `[slot]` void QPrintPreviewWidget::updatePreview()

This function updates the preview, which causes the paintRequested() signal to be emitted.

### QPrintPreviewWidget::ViewMode QPrintPreviewWidget::viewMode() const

Returns the current view mode. The default view mode is SinglePageView.

See also setViewMode().

### qreal QPrintPreviewWidget::zoomFactor() const

Returns the zoom factor of the view.

See also setZoomFactor().

### `[slot]` void QPrintPreviewWidget::zoomIn(qreal factor = 1.1)

Zooms the current view in by factor. The default value for factor is 1.1, which means the view will be scaled up by 10%.

### QPrintPreviewWidget::ZoomMode QPrintPreviewWidget::zoomMode() const

Returns the current zoom mode.

See also setZoomMode(), viewMode(), and setViewMode().

### `[slot]` void QPrintPreviewWidget::zoomOut(qreal factor = 1.1)

Zooms the current view out by factor. The default value for factor is 1.1, which means the view will be scaled down by 10%.