class QPdfPageNavigator#

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

Inheritance diagram of PySide6.QtPdf.QPdfPageNavigator

摘要#

属性#

方法#

槽(a class="headerlink" href="#slots" title="链接到此标题")

信号(a class="headerlink" href="#signals" title="链接到此标题")

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

详细描述(a class="headerlink" href="#detailed-description" title="链接到此标题")

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

另请参阅

QPdfDocument

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

property backAvailableᅟ: bool

当历史记录中存在一个后退目的地时,即如果调用了push()或forward(),则保留 true

访问函数
属性 currentLocation: QPointF#

此属性保存当前视图页面上的位置(即最后输入给jump()update()的位置)。默认值是0, 0

访问函数
属性 currentPage: int#

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

访问函数
属性 currentZoom: float#

此属性保存当前正在查看的页面上使用的放大比例(1逻辑像素等于1点)。默认值是1

访问函数
属性 forwardAvailable: bool#

当历史记录中存在有效的下一个位置时(即如果之前调用过back()),则保持为true。这意味着back()已经被调用过。

访问函数
__init__(parent)#
参数:

parentQObject

使用父对象parent创建一个页面导航栈。

__init__()
back()#

弹出堆栈,更新 当前页面currentPage),当前位置currentLocation)和当前缩放currentZoom)属性到最近查看的目的地,然后发出跳转信号。

backAvailable()#
返回类型:

bool

属性backAvailable的获取器。

backAvailableChanged(available)#
参数:

available – bool

backAvailable属性的属性变动通知信号。

clear()#

清除历史记录并恢复currentPagecurrentLocationcurrentZoom到它们的默认值。

返回类型:

QPdfLink

currentLocation()#
返回类型:

QPointF

currentLocation属性的获取器。

currentLocationChanged(location)#
参数:

locationQPointF

currentLocation属性的属性变动通知信号。

currentPage()#
返回类型:

int

currentPage属性的获取器。

currentPageChanged(page)#
参数:

page – int

属性:currentPage 的通知信号。

currentZoom()#
返回类型:

float

属性:currentZoom 的获取器。

currentZoomChanged(zoom)#
参数:

zoom – float

属性:currentZoom 的通知信号。

forward()#

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

如果在最后一次调用 back() 以来有些新的目的地被推入,则 forward() 函数不会执行任何操作,因为在时间轴上有一个分叉,这会导致“未来”丢失。

forwardAvailable()#
返回类型:

bool

属性:forwardAvailable 的获取器。

forwardAvailableChanged(available)#
参数:

available – bool

属性:forwardAvailable 的通知信号。

jump(destination)#
参数:

destinationQPdfLink

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

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

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

  • locationQPointF

  • zoom – float

将给定的包含pagelocationzoom的目标添加到已访问位置的历史记录中。

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

如果用户正在遵循链接,则location应与location()相同;由于这是指定为目标的上角,因此最好始终使用以点为单位的视图中左上角可见的位置来保持一致性。

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

jumped(current)#
参数:

currentQPdfLink

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

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

update(page, location, zoom)#
参数:
  • page – int

  • locationQPointF

  • zoom – float

修改当前目标,包括pagelocationzoom

可以在用户手动在文档中移动时周期性地调用此函数,以便在调用back()后,forward()将跳转回最近查看的目标,而不是push()最后一次指定的目标。

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