QPdfPageNavigator 类

在 PDF 文档中记录导航历史,允许前后浏览。 更多...

头文件 #include <QPdfPageNavigator>
Qt 6.4
继承自 QObject

属性

公共函数

QPdfPageNavigator(QObject *parent)
虚拟~QPdfPageNavigator() override
boolbackAvailable() const
QPointFcurrentLocation() const
intcurrentPage() const
qrealcurrentZoom() const
boolforwardAvailable() const

公共槽

voidback()
voidclear()
voidforward()
voidjump(QPdfLink destination)
voidjump(int page, const QPointF &location, qreal zoom = 0)
voidupdate(int page, const QPointF &location, qreal zoom)

信号

voidbackAvailableChanged(bool available)
voidcurrentLocationChanged(QPointF location)
voidcurrentPageChanged(int page)
voidcurrentZoomChanged(qreal zoom)
voidforwardAvailableChanged(bool available)
voidjumped(QPdfLink current)

详细说明

QPdfPageNavigator 类记录用户在 PDF 文档中访问过的目标,并能返回和前进。它用于实现类似网络浏览器中后退和前进按钮的功能。

另请参阅QPdfDocument.

属性文档

[只读] backAvailable : const bool

如果历史记录中存在返回目标,则 true:也就是说,如果已调用 push() 或 forward()。

访问函数

boolbackAvailable() const

通知信号

voidbackAvailableChanged(bool available)

[只读] currentLocation : const QPointF

此属性保存正在查看的页面上的当前位置(最后给予 jump() 或 update() 的位置)。默认值为 0, 0

访问函数

QPointFcurrentLocation() const

通知信号

voidcurrentLocationChanged(QPointF location)

[只读] currentPage : const int

此属性保存正在查看的当前页面。默认值为 0

访问函数

intcurrentPage() const

通知信号

voidcurrentPageChanged(int page)

[只读] currentZoom : const qreal

此属性保存正在查看的页面上的放大比例(1逻辑像素 = 1点)。默认值为 1

访问函数

qrealcurrentZoom() const

通知信号

voidcurrentZoomChanged(qreal zoom)

[只读] forwardAvailable : const bool

如果历史记录中存在前进目标,则 true:也就是说,如果之前已调用 back

访问函数

boolforwardAvailable() const

通知信号

voidforwardAvailableChanged(bool available)

成员函数文档

[显式] QPdfPageNavigator::QPdfPageNavigator(QObject *parent)

使用父对象 parent 构建页面导航堆栈。

[覆盖虚函数 noexcept] QPdfPageNavigator::~QPdfPageNavigator()

销毁页面导航堆栈。

[槽函数] void QPdfPageNavigator::back()

弹出堆栈,更新 currentPagecurrentLocationcurrentZoom 属性到最近查看的目标,然后发出 jumped() 信号。

[槽函数] void QPdfPageNavigator::clear()

清除历史记录,并将 currentPagecurrentLocationcurrentZoom Prop 恢复到默认值。

[槽函数] void QPdfPageNavigator::forward()

返回到被调用back()之前的页面、位置和缩放级别,然后发出jumped()信号。

如果在上次调用back()()之后推送了新的目的地,则forward()函数不执行任何操作,因为在时间线上存在一个分支,导致“未来”丢失。

[slot] void QPdfPageNavigator::jump(QPdfLink destination)

将给定的destination添加到已访问位置的记录中。

在这种情况下,PDF视图通过滚动到使destination.rectangles在视口中定位,来响应jumped信号,而不是在视口中定位destination.location。因此,要从QPdfSearchModel跳转到搜索结果(因为矩形覆盖了找到的文本区域),可以调用此方法。如果要跳转到超链接目的地,请调用jump(page, location, zoom),因为在这种情况下,QPdfLink对象的rectangles覆盖超链接的原始位置而不是目的地。

[slot] void QPdfPageNavigator::jump(int page, const QPointF &location, qreal zoom = 0)

将给定目的地,由pagelocationzoom组成,添加到已访问位置的记录中。

zoom参数表示放大(其中1是默认缩放,1逻辑像素= 1点)。如果未提供zoom或为0,则currentZoom保持其现有值,并且不会发出currentZoomChanged

location应与用户跟踪链接时相同;由于它是指定为目标的右上角,因此最好始终使用在视口的右上角可见的位置,以点为单位。

如果forwardAvailabletrue,调用此函数在时间线上代表一个分支,导致“未来”丢失,因此forwardAvailable将更改为false

[signal] void QPdfPageNavigator::jumped(QPdfLink current)

当发生跳水时发出此信号到current页码、页上的位置和缩放级别;但not当简单地通过文档滚动一页时。也就是说,jump(),forward()和back()发出这个信号,但update()不发出。

如果current.rectangles.length > 0,它们是覆盖特定目标区域的矩形:应可见的搜索结果;否则,current.location是页上的目标位置(超链接目标,或在前向/后向导航期间)。

[slot] void QPdfPageNavigator::update(int page, const QPointF &location, qreal zoom)

修改当前目标,包括页面位置缩放

当用户手动在文档中移动时,可以周期性地调用此功能,以便在调用后端()之后,前导()将跳转到最近查看的目标,而不是最后由push()指定的目标。

如果相应属性实际上已更改,则将发出currentZoomChangedcurrentPageChangedcurrentLocationChanged信号。由于此操作代表平滑移动而不是导航跳转,因此不会发出 jumped信号。

© 2024 Qt有限公司。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基础组织发布的GNU自由文档许可证版本1.3的条款进行许可。Qt及其相关的标志是芬兰和/或其他国家Qt有限公司的商标。所有其他商标均为其各自所有者的财产。