QPdfPageRenderer Class

QPdfPageRenderer 类封装了 PDF 文档页面的渲染。更多

Header: #include <QPdfPageRenderer>
Inherits: QObject

公共类型

enum class RenderMode { MultiThreaded, SingleThreaded }

属性

公共功能

QPdfPageRenderer(QObject *parent)
virtual ~QPdfPageRenderer() override
QPdfDocument *document() const
QPdfPageRenderer::RenderMode renderMode() const
quint64 requestPage(int pageNumber, QSize imageSize, QPdfDocumentRenderOptions options = QPdfDocumentRenderOptions())
void setDocument(QPdfDocument *document)
void setRenderMode(QPdfPageRenderer::RenderMode mode)

信号

void documentChanged(QPdfDocument *document)
void renderModeChanged(QPdfPageRenderer::RenderMode renderMode)

详细说明

QPdfPageRenderer 包含一个队列,用于收集通过requestPage() 调用的所有渲染请求。根据所配置的RenderMode ,QPdfPageRenderer 会在下一次事件循环调用时在主 UI 线程中(RenderMode::SingleThreaded )或在单独的工作线程中(RenderMode::MultiThreaded )处理该队列,并在渲染完成后通过 pageRendered() 信号为每个请求发送结果。

另请参见 QPdfDocument

成员类型文档

enum class QPdfPageRenderer::RenderMode

该枚举描述了页面的渲染方式。

常量描述
QPdfPageRenderer::RenderMode::MultiThreaded0所有页面都在单独的工作线程中渲染。
QPdfPageRenderer::RenderMode::SingleThreaded1所有页面都在主 UI 线程中呈现(默认)。

另请参阅 renderMode() 和setRenderMode()。

属性文档

document : QPdfDocument*

此属性包含此对象渲染页面的文档实例。

默认情况下,该属性为nullptr

访问功能:

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

Notifier 信号:

void documentChanged(QPdfDocument *document)

另请参阅 document(),setDocument() 和QPdfDocument

renderMode : RenderMode

此属性表示呈现器用于呈现页面的模式。

默认情况下,此属性为RenderMode::SingleThreaded

访问功能:

QPdfPageRenderer::RenderMode renderMode() const
void setRenderMode(QPdfPageRenderer::RenderMode mode)

Notifier 信号:

void renderModeChanged(QPdfPageRenderer::RenderMode renderMode)

另请参阅 setRenderMode() 和RenderMode

成员函数文档

[explicit] QPdfPageRenderer::QPdfPageRenderer(QObject *parent)

使用父对象parent 构建页面呈现器对象。

[override virtual noexcept] QPdfPageRenderer::~QPdfPageRenderer()

销毁页面呈现器对象。

QPdfDocument *QPdfPageRenderer::document() const

返回此对象渲染页面的文档,如果之前未设置,则返回nullptr

注: 属性 document 的获取函数。

另请参阅 setDocument() 和QPdfDocument

QPdfPageRenderer::RenderMode QPdfPageRenderer::renderMode() const

返回页面的渲染模式。

注: 属性 renderMode 的获取函数。

另请参阅 setRenderMode() 和RenderMode

quint64 QPdfPageRenderer::requestPage(int pageNumber, QSize imageSize, QPdfDocumentRenderOptions options = QPdfDocumentRenderOptions())

请求呈现器根据提供的options 将页面pageNumber 呈现为大小为imageSizeQImage

渲染完成后,pageRendered() 信号将以渲染结果为参数发出。

返回值是一个 ID,用于唯一标识渲染请求。如果队列中仍有参数相同的请求,则会返回该队列请求的 ID。

void QPdfPageRenderer::setDocument(QPdfDocument *document)

设置该对象渲染页面的document

注: 属性document 的设置函数。

另请参阅 document() 和QPdfDocument

void QPdfPageRenderer::setRenderMode(QPdfPageRenderer::RenderMode mode)

将页面渲染模式设置为mode

注: 属性renderMode 的设置函数。

另请参阅 renderMode() 和RenderMode

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