PySide6.QtPdf.QPdfPageNavigator

class QPdfPageNavigator

PDF文档中的导航历史。更多

PySide6.QtPdf.QPdfPageNavigator 的继承图

概要

属性

方法

插槽

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QPdfPageNavigator 类记住用户在PDF文档中访问过的目的地,并提供向后和向前遍历的能力。它用于实现类似于网页浏览器中的后退和前进按钮的后退和前进操作。

另请参阅

QPdfDocument

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property backAvailableᅟ: bool

如果历史记录中有可用的返回目的地,则保持true:也就是说,如果已经调用了push()或forward()

Access functions:
property currentLocationᅟ: QPointF

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

Access functions:
property currentPageᅟ: int

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

Access functions:
property currentZoomᅟ: float

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

Access functions:
property forwardAvailableᅟ: bool

如果历史记录中有前进目的地可用,则保持true:也就是说,如果之前调用了back()

Access functions:
__init__()
__init__(parent)
Parameters:

父对象QObject

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

back()

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

backAvailable()
Return type:

布尔

属性 backAvailableᅟ 的获取器。

backAvailableChanged(available)
Parameters:

可用 – bool

属性 backAvailableᅟ 的通知信号。

clear()

清除历史记录并将currentPagecurrentLocationcurrentZoom恢复为默认值。

Return type:

QPdfLink

currentLocation()
Return type:

QPointF

属性 currentLocationᅟ 的获取器。

currentLocationChanged(location)
Parameters:

位置QPointF

属性 currentLocationᅟ 的通知信号。

currentPage()
Return type:

整数

获取属性 currentPageᅟ 的Getter。

currentPageChanged(page)
Parameters:

页码 – int

属性 currentPageᅟ 的通知信号。

currentZoom()
Return type:

浮点数

属性 currentZoomᅟ 的获取器。

currentZoomChanged(zoom)
Parameters:

zoom – 浮点数

属性 currentZoomᅟ 的通知信号。

forward()

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

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

forwardAvailable()
Return type:

布尔

属性 forwardAvailableᅟ 的获取器。

forwardAvailableChanged(available)
Parameters:

可用 – bool

属性 forwardAvailableᅟ 的通知信号。

jump(destination)
Parameters:

目的地QPdfLink

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

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

jump(page, location[, zoom=0])
Parameters:
  • page – int

  • 位置QPointF

  • zoom – 浮点数

将给定的目的地(包括pagelocationzoom)添加到访问过的位置历史记录中。

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

location 应该与 location() 相同,如果用户正在跟随链接;由于该位置被指定为目标区域的左上角,为了保持一致性,最好始终使用视口左上角可见的位置,以点为单位。

如果 forwardAvailabletrue,调用此函数表示时间线中的一个分支,这会导致“未来”丢失,因此 forwardAvailable 将变为 false

jumped(current)
Parameters:

当前QPdfLink

当发生突然跳转时,会发出此信号,跳转到current页面索引、页面位置和缩放级别;但不会在简单地逐页滚动文档时发出。也就是说,jump()forward()back()会发出此信号,但update()不会。

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

update(page, location, zoom)
Parameters:
  • page – int

  • 位置QPointF

  • zoom – 浮点数

修改当前目标,包括pagelocationzoom

这可以在用户手动浏览文档时定期调用,以便在调用back()后,forward()将跳回到最近查看的目的地,而不是由push()最后指定的目的地。

如果相应的属性实际发生变化,将会发出currentZoomChangedcurrentPageChangedcurrentLocationChanged信号。jumped信号不会被发出,因为此操作表示平滑移动而不是导航跳跃。