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%.