En esta página

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); });
Para más ejemplos y enfoques, véase conectar con ranuras sobrecargadas.

[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); });
Para más ejemplos y enfoques, véase conectar con ranuras sobrecargadas.

[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.