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:
- 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.
- 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%.
© 2024 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.