QPdfView Class

A PDF viewer widget. More...

Header: #include <QPdfView>
Inherits: QAbstractScrollArea

Public Types

enum class PageMode { SinglePage, MultiPage }
enum class ZoomMode { Custom, FitToWidth, FitInView }

Properties

Public Functions

QPdfView(QWidget *parent)
virtual ~QPdfView()
QPdfDocument *document() const
QMargins documentMargins() const
QPdfView::PageMode pageMode() const
QPdfPageNavigator *pageNavigator() const
int pageSpacing() const
void setDocument(QPdfDocument *document)
void setDocumentMargins(QMargins margins)
void setPageSpacing(int spacing)
qreal zoomFactor() const
QPdfView::ZoomMode zoomMode() const

Public Slots

void setPageMode(QPdfView::PageMode mode)
void setZoomFactor(qreal factor)
void setZoomMode(QPdfView::ZoomMode mode)

Signals

void documentChanged(QPdfDocument *document)
void documentMarginsChanged(QMargins documentMargins)
void pageModeChanged(QPdfView::PageMode pageMode)
void pageSpacingChanged(int pageSpacing)
void zoomFactorChanged(qreal zoomFactor)
void zoomModeChanged(QPdfView::ZoomMode zoomMode)

Detailed Description

QPdfView is a PDF viewer widget that offers a user experience similar to many common PDF viewer applications, with two modes. In the MultiPage mode, it supports flicking through the pages in the entire document, with narrow gaps between the page images. In the SinglePage mode, it shows one page at a time.

Member Type Documentation

enum class QPdfView::PageMode

This enum describes the overall behavior of the PDF viewer:

ConstantValueDescription
QPdfView::PageMode::SinglePage0Show one page at a time.
QPdfView::PageMode::MultiPage1Allow scrolling through all pages in the document.

enum class QPdfView::ZoomMode

This enum describes the magnification behavior of the PDF viewer:

ConstantValueDescription
QPdfView::ZoomMode::Custom0Use zoomFactor only.
QPdfView::ZoomMode::FitToWidth1Automatically choose a zoom factor so that the width of the page fits in the view.
QPdfView::ZoomMode::FitInView2Automatically choose a zoom factor so that the entire page fits in the view.

Property Documentation

document : QPdfDocument*

This property holds the document to be viewed.

Access functions:

QPdfDocument *document() const
void setDocument(QPdfDocument *document)

Notifier signal:

void documentChanged(QPdfDocument *document)

documentMargins : QMargins

This property holds the margins around the page view.

Access functions:

QMargins documentMargins() const
void setDocumentMargins(QMargins margins)

Notifier signal:

void documentMarginsChanged(QMargins documentMargins)

pageMode : PageMode

This property holds whether to show one page at a time, or all pages in the document. The default is SinglePage.

Access functions:

QPdfView::PageMode pageMode() const
void setPageMode(QPdfView::PageMode mode)

Notifier signal:

void pageModeChanged(QPdfView::PageMode pageMode)

pageSpacing : int

This property holds the size of the padding between pages in the MultiPage mode.

Access functions:

int pageSpacing() const
void setPageSpacing(int spacing)

Notifier signal:

void pageSpacingChanged(int pageSpacing)

zoomFactor : qreal

This property holds the ratio of pixels to points. The default is 1, meaning one point (1/72 of an inch) equals 1 logical pixel.

Access functions:

qreal zoomFactor() const
void setZoomFactor(qreal factor)

Notifier signal:

void zoomFactorChanged(qreal zoomFactor)

zoomMode : ZoomMode

This property indicates whether to use a custom size for the page(s), or zoom them to fit to the view. The default is CustomZoom.

Access functions:

QPdfView::ZoomMode zoomMode() const
void setZoomMode(QPdfView::ZoomMode mode)

Notifier signal:

void zoomModeChanged(QPdfView::ZoomMode zoomMode)

Member Function Documentation

QPdfView::QPdfView(QWidget *parent)

Constructs a PDF viewer with parent widget parent.

[virtual] QPdfView::~QPdfView()

Destroys the PDF viewer.

This accessor returns the navigation stack that will handle back/forward navigation.

© 2022 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.