QPdfView Class

PDF 浏览器小工具。更多

Header: #include <QPdfView>
Inherits: QAbstractScrollArea

公共类型

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

属性

公共功能

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

公共插槽

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

信号

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

详细说明

QPdfView 是一个 PDF 浏览器部件,它提供的用户体验与许多常见的 PDF 浏览器应用程序类似,但有两种modes 。在MultiPage 模式下,它支持在整个文档中翻阅页面,页面图像之间的间隙很窄。在SinglePage 模式下,它一次显示一页。

成员类型文档

enum class QPdfView::PageMode

该枚举描述 PDF 阅读器的整体行为:

常量说明
QPdfView::PageMode::SinglePage0一次显示一页。
QPdfView::PageMode::MultiPage1允许滚动浏览文档中的所有页面。

enum class QPdfView::ZoomMode

该枚举描述 PDF 阅读器的放大行为:

常量说明
QPdfView::ZoomMode::Custom0仅使用zoomFactor
QPdfView::ZoomMode::FitToWidth1自动选择缩放系数,使页面宽度适合查看。
QPdfView::ZoomMode::FitInView2自动选择缩放因子,使整个页面适合显示在视图中。

属性文档

[since 6.6] currentSearchResultIndex : int

如果该属性设置为正数,且searchModel 已设置,则QPdfView 会在给定索引处围绕QPdfSearchModel 提供的搜索结果绘制一个框架。例如,如果QPdfSearchModel 被用作QListView 的模型,则可以通过将QItemSelectionModel::currentChanged() 从QListView::selectionModel() 连接到一个函数来保持该属性的更新,该函数反过来会调用该函数。

默认情况下,它是-1 ,因此不会框选搜索结果。

此属性在 Qt 6.6 中引入。

访问函数:

int currentSearchResultIndex() const
void setCurrentSearchResultIndex(int currentResult)

Notifier 信号:

void currentSearchResultIndexChanged(int currentResult)

document : QPdfDocument*

该属性包含要查看的文件。

访问功能:

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

通知信号:

void documentChanged(QPdfDocument *document)

documentMargins : QMargins

该属性用于保存页面视图周围的边距。

访问功能:

QMargins documentMargins() const
void setDocumentMargins(QMargins margins)

通知信号:

void documentMarginsChanged(QMargins documentMargins)

pageMode : PageMode

该属性用于确定是一次显示一页,还是显示文档中的所有页面。默认值为SinglePage

访问功能:

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

Notifier 信号:

void pageModeChanged(QPdfView::PageMode pageMode)

pageSpacing : int

该属性用于保存MultiPage mode 页面之间的填充大小。

访问功能:

int pageSpacing() const
void setPageSpacing(int spacing)

通知信号:

void pageSpacingChanged(int pageSpacing)

[since 6.6] searchModel : QPdfSearchModel*

如果设置了该属性,QPdfView 将在QPdfSearchModel::resultsOnPage() 提供的搜索结果上绘制高亮矩形。默认情况下,它是nullptr

此属性在 Qt 6.6 中引入。

访问函数:

QPdfSearchModel *searchModel() const
void setSearchModel(QPdfSearchModel *searchModel)

Notifier 信号:

void searchModelChanged(QPdfSearchModel *searchModel)

zoomFactor : qreal

该属性表示像素与点的比率。默认值为1 ,即 1 个点(1/72 英寸)等于 1 个逻辑像素。

访问功能:

qreal zoomFactor() const
void setZoomFactor(qreal factor)

通知信号:

void zoomFactorChanged(qreal zoomFactor)

zoomMode : ZoomMode

此属性表示是为页面使用自定义大小,还是缩放页面以适应视图。默认值为CustomZoom

访问功能:

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

Notifier 信号:

void zoomModeChanged(QPdfView::ZoomMode zoomMode)

成员函数文档

[explicit] QPdfView::QPdfView(QWidget *parent)

通过父 widgetparent 构建 PDF 阅读器。

[virtual noexcept] QPdfView::~QPdfView()

销毁 PDF 查看器。

此访问器返回将处理前后导航的导航栈。

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