QPdfPageNavigator 类
在 PDF 文档中记录导航历史,允许前后浏览。 更多...
头文件 | #include <QPdfPageNavigator> |
自 | Qt 6.4 |
继承自 | QObject |
属性
|
|
公共函数
QPdfPageNavigator(QObject *parent) | |
虚拟 | ~QPdfPageNavigator() override |
bool | backAvailable() const |
QPointF | currentLocation() const |
int | currentPage() const |
qreal | currentZoom() const |
bool | forwardAvailable() const |
公共槽
void | back() |
void | clear() |
void | forward() |
void | jump(QPdfLink destination) |
void | jump(int page, const QPointF &location, qreal zoom = 0) |
void | update(int page, const QPointF &location, qreal zoom) |
信号
void | backAvailableChanged(bool available) |
void | currentLocationChanged(QPointF location) |
void | currentPageChanged(int page) |
void | currentZoomChanged(qreal zoom) |
void | forwardAvailableChanged(bool available) |
void | jumped(QPdfLink current) |
另请参阅QPdfDocument.
属性文档
[只读]
backAvailable : const bool
如果历史记录中存在返回目标,则 true
:也就是说,如果已调用 push() 或 forward()。
访问函数
bool | backAvailable() const |
通知信号
void | backAvailableChanged(bool available) |
[只读]
currentLocation : const QPointF
此属性保存正在查看的页面上的当前位置(最后给予 jump() 或 update() 的位置)。默认值为 0, 0
。
访问函数
QPointF | currentLocation() const |
通知信号
void | currentLocationChanged(QPointF location) |
[只读]
currentPage : const int
此属性保存正在查看的当前页面。默认值为 0
。
访问函数
int | currentPage() const |
通知信号
void | currentPageChanged(int page) |
[只读]
currentZoom : const qreal
此属性保存正在查看的页面上的放大比例(1逻辑像素 = 1点)。默认值为 1
。
访问函数
qreal | currentZoom() const |
通知信号
void | currentZoomChanged(qreal zoom) |
[只读]
forwardAvailable : const bool
如果历史记录中存在前进目标,则 true
:也就是说,如果之前已调用 back。
访问函数
bool | forwardAvailable() const |
通知信号
void | forwardAvailableChanged(bool available) |
成员函数文档
[显式]
QPdfPageNavigator::QPdfPageNavigator(QObject *parent)
使用父对象 parent 构建页面导航堆栈。
[覆盖虚函数 noexcept]
QPdfPageNavigator::~QPdfPageNavigator()
销毁页面导航堆栈。
[槽函数]
void QPdfPageNavigator::back()
弹出堆栈,更新 currentPage、currentLocation 和 currentZoom 属性到最近查看的目标,然后发出 jumped() 信号。
[槽函数]
void QPdfPageNavigator::clear()
清除历史记录,并将 currentPage、currentLocation 和 currentZoom 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)
将给定目的地,由page、location和zoom组成,添加到已访问位置的记录中。
zoom参数表示放大(其中1
是默认缩放,1逻辑像素= 1点)。如果未提供zoom或为0
,则currentZoom保持其现有值,并且不会发出currentZoomChanged。
location应与用户跟踪链接时相同;由于它是指定为目标的右上角,因此最好始终使用在视口的右上角可见的位置,以点为单位。
如果forwardAvailable为true
,调用此函数在时间线上代表一个分支,导致“未来”丢失,因此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()指定的目标。
如果相应属性实际上已更改,则将发出currentZoomChanged
、currentPageChanged
和currentLocationChanged
信号。由于此操作代表平滑移动而不是导航跳转,因此不会发出 jumped信号。
© 2024 Qt有限公司。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基础组织发布的GNU自由文档许可证版本1.3的条款进行许可。Qt及其相关的标志是芬兰和/或其他国家Qt有限公司的商标。所有其他商标均为其各自所有者的财产。