QPdfPageNavigator Class
Historial de navegación dentro de un documento PDF. Más...
| Header: | #include <QPdfPageNavigator> |
| Since: | Qt 6.4 |
| Inherits: | QObject |
Propiedades
|
|
Funciones públicas
| QPdfPageNavigator(QObject *parent) | |
| virtual | ~QPdfPageNavigator() override |
| bool | backAvailable() const |
| QPointF | currentLocation() const |
| int | currentPage() const |
| qreal | currentZoom() const |
| bool | forwardAvailable() const |
Ranuras públicas
| 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) |
Señales
| void | backAvailableChanged(bool available) |
| void | currentLocationChanged(QPointF location) |
| void | currentPageChanged(int page) |
| void | currentZoomChanged(qreal zoom) |
| void | forwardAvailableChanged(bool available) |
| void | jumped(QPdfLink current) |
Descripción detallada
La clase QPdfPageNavigator recuerda los destinos que el usuario ha visitado en un documento PDF y ofrece la posibilidad de retroceder y avanzar. Se utiliza para implementar acciones de retroceso y avance similares a los botones de retroceso y avance de un navegador web.
Consulte también QPdfDocument.
Documentación de propiedades
[read-only] backAvailable : bool
Mantiene true si hay un destino de vuelta disponible en el historial: es decir, si se ha llamado a push() o forward().
Funciones de acceso:
| bool | backAvailable() const |
Señal de notificador:
| void | backAvailableChanged(bool available) |
[read-only] currentLocation : QPointF
Esta propiedad contiene la ubicación actual en la página que se está visualizando (la ubicación que se dio por última vez a jump() o update()). Por defecto es 0, 0.
Funciones de acceso:
| QPointF | currentLocation() const |
Señal del notificador:
| void | currentLocationChanged(QPointF location) |
[read-only] currentPage : int
Esta propiedad contiene la página actual que se está visualizando. Por defecto es 0.
Funciones de acceso:
| int | currentPage() const |
Señal del notificador:
| void | currentPageChanged(int page) |
[read-only] currentZoom : qreal
Esta propiedad contiene la escala de ampliación (1 píxel lógico = 1 punto) de la página que se está visualizando. El valor por defecto es 1.
Funciones de acceso:
| qreal | currentZoom() const |
Señal del notificador:
| void | currentZoomChanged(qreal zoom) |
[read-only] forwardAvailable : bool
Mantiene true si hay un destino de reenvío disponible en el historial: es decir, si se ha llamado previamente a back().
Funciones de acceso:
| bool | forwardAvailable() const |
Señal de notificador:
| void | forwardAvailableChanged(bool available) |
Documentación de la función miembro
[explicit] QPdfPageNavigator::QPdfPageNavigator(QObject *parent)
Construye una pila de navegación de página con el objeto padre parent.
[override virtual noexcept] QPdfPageNavigator::~QPdfPageNavigator()
Destruye la pila de navegación de la página.
[slot] void QPdfPageNavigator::back()
Despliega la pila, actualiza las propiedades currentPage, currentLocation y currentZoom al destino visto más recientemente y, a continuación, emite la señal jumped().
[slot] void QPdfPageNavigator::clear()
Borre el historial y restaure currentPage, currentLocation y currentZoom a sus valores por defecto.
[slot] void QPdfPageNavigator::forward()
Vuelve a la página, localización y nivel de zoom que se estaba viendo antes de llamar a back(), y entonces emite la señal jumped().
Si se empujó un nuevo destino desde la última vez que se llamó a back(), la función forward() no hace nada, porque hay una bifurcación en la línea de tiempo que hace que se pierda el "futuro".
[slot] void QPdfPageNavigator::jump(QPdfLink destination)
Añade la dirección destination al historial de ubicaciones visitadas.
En este caso, las vistas PDF responden a la señal jumped desplazándose para colocar destination.rectangles en la ventana gráfica, en lugar de colocar destination.location en la ventana gráfica. Así que es apropiado llamar a este método para saltar a un resultado de búsqueda desde QPdfSearchModel (porque los rectángulos cubren la región de texto encontrada). Para saltar al destino de un hipervínculo, llame a jump(page, location, zoom) en su lugar, porque en ese caso los rectangles del objeto QPdfLink cubren la ubicación de origen del hipervínculo en lugar del destino.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
pdfPageNavigator, qOverload(&QPdfPageNavigator::jump));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
pdfPageNavigator, [receiver = pdfPageNavigator](QPdfLink destination) { receiver->jump(destination); }); [slot] void QPdfPageNavigator::jump(int page, const QPointF &location, qreal zoom = 0)
Añade el destino dado, formado por page, location, y zoom, al historial de ubicaciones visitadas.
El argumento zoom representa la ampliación (donde 1 es la escala por defecto, 1 píxel lógico = 1 punto). Si no se da zoom o es 0, currentZoom mantiene su valor existente, y currentZoomChanged no se emite.
El location debe ser el mismo que QPdfLink::location() si el usuario está siguiendo un enlace; y puesto que eso se especifica como la esquina superior izquierda del destino, es mejor por consistencia usar siempre la localización visible en la esquina superior izquierda de la ventana gráfica, en puntos.
Si forwardAvailable es true, llamar a esta función representa una bifurcación en la línea de tiempo que hace que se pierda el "futuro", y por lo tanto forwardAvailable cambiará a false.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
pdfPageNavigator, qOverload(&QPdfPageNavigator::jump));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
pdfPageNavigator, [receiver = pdfPageNavigator](int page, const QPointF &location, qreal zoom) { receiver->jump(page, location, zoom); }); [signal] void QPdfPageNavigator::jumped(QPdfLink current)
Esta señal se emite cuando se produce un salto brusco, al índice de página current, ubicación en la página y nivel de zoom; pero no cuando simplemente se desplaza por el documento página a página. Es decir, jump(), forward() y back() emiten esta señal, pero update() no.
Si current.rectangles.length > 0, son rectángulos que cubren un área de destino específica: un resultado de búsqueda que debe hacerse visible; en caso contrario, current.location es la ubicación de destino en page (un destino de hipervínculo, o durante la navegación hacia delante/atrás).
[slot] void QPdfPageNavigator::update(int page, const QPointF &location, qreal zoom)
Modifica el destino actual, compuesto por page, location y zoom.
Esto puede ser llamado periódicamente mientras el usuario se mueve manualmente por el documento, de modo que después de que back() sea llamado, forward() saltará de nuevo al destino visto más recientemente en lugar del destino que fue especificado por última vez por push().
Las señales currentZoomChanged, currentPageChanged y currentLocationChanged se emitirán si se modifican las propiedades respectivas. La señal jumped no se emite, porque esta operación representa un movimiento suave más que un salto de navegación.
© 2026 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.