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 |
enum | ViewMode { SinglePageView, FacingPagesView, AllPagesView } |
enum | ZoomMode { CustomZoom, FitToWidth, FitInView } |
QPrintPreviewWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
QPrintPreviewWidget(QPrinter *printer, 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 |
virtual void | setVisible(bool visible) override |
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) |
void | paintRequested(QPrinter *printer) |
void | previewChanged() |
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:
Construct the QPrintPreviewWidget either by passing in an existing QPrinter object, or have QPrintPreviewWidget create a default constructed QPrinter object for you.
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.
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. |
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. |
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.
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().
[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)
.
[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().
[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.
[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%.
[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%.
[virtual]
QPrintPreviewWidget::~QPrintPreviewWidget()Destroys the QPrintPreviewWidget.
Returns the currently viewed page in the preview.
See also setCurrentPage().
Returns the current orientation of the preview. This value is obtained from the QPrinter object associated with the preview.
See also setOrientation().
Returns the number of pages in the preview.
[override virtual]
void QPrintPreviewWidget::setVisible(bool visible)Returns the current view mode. The default view mode is SinglePageView.
See also setViewMode().
Returns the zoom factor of the view.
See also setZoomFactor().
Returns the current zoom mode.
See also setZoomMode(), viewMode(), and setViewMode().