QTextBrowser Class
La clase QTextBrowser proporciona un navegador de texto enriquecido con navegación por hipertexto. Más...
| Cabecera: | #include <QTextBrowser> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QTextEdit |
- Lista de todos los miembros, incluyendo los heredados
- QTextBrowser es parte de las APIs de Procesamiento de Texto Enriquecido.
Propiedades
|
|
Funciones públicas
| QTextBrowser(QWidget *parent = nullptr) | |
| int | backwardHistoryCount() const |
| void | clearHistory() |
| int | forwardHistoryCount() const |
| QString | historyTitle(int i) const |
| QUrl | historyUrl(int i) const |
| bool | isBackwardAvailable() const |
| bool | isForwardAvailable() const |
| bool | openExternalLinks() const |
| bool | openLinks() const |
| QStringList | searchPaths() const |
| void | setOpenExternalLinks(bool open) |
| void | setOpenLinks(bool open) |
| void | setSearchPaths(const QStringList &paths) |
| QUrl | source() const |
| QTextDocument::ResourceType | sourceType() const |
Funciones públicas reimplementadas
| virtual QVariant | loadResource(int type, const QUrl &name) override |
Ranuras públicas
| virtual void | backward() |
| virtual void | forward() |
| virtual void | home() |
| virtual void | reload() |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
Señales
| void | anchorClicked(const QUrl &link) |
| void | backwardAvailable(bool available) |
| void | forwardAvailable(bool available) |
| void | highlighted(const QUrl &link) |
| void | historyChanged() |
| void | sourceChanged(const QUrl &src) |
Funciones protegidas
| virtual void | doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
Funciones protegidas reimplementadas
| virtual bool | event(QEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *ev) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
Descripción detallada
Esta clase extiende QTextEdit (en modo sólo lectura), añadiendo algunas funcionalidades de navegación para que los usuarios puedan seguir enlaces en documentos de hipertexto.
Si desea proporcionar a sus usuarios un editor de texto enriquecido editable, utilice QTextEdit. Si desea un navegador de texto sin navegación por hipertexto utilice QTextEdit, y utilice QTextEdit::setReadOnly() para desactivar la edición. Si sólo necesita mostrar un pequeño fragmento de texto enriquecido utilice QLabel.
Fuente y contenido del documento
Los contenidos de QTextEdit se establecen con setHtml() o setPlainText(), pero QTextBrowser también implementa la función setSource(), haciendo posible usar un documento con nombre como texto fuente. El nombre se busca en una lista de rutas de búsqueda y en el directorio de la fábrica de documentos actual.
Si el nombre de un documento termina con un ancla (por ejemplo, "#anchor"), el navegador de texto se desplaza automáticamente hasta esa posición (utilizando scrollToAnchor()). Cuando el usuario hace clic en un hipervínculo, el navegador llamará al propio setSource() con el valor href del enlace como argumento. Puede seguir la fuente actual conectándose a la señal sourceChanged().
Navegación
QTextBrowser proporciona las ranuras backward() y forward() que puedes utilizar para implementar los botones Atrás y Adelante. La ranura home() establece el texto en el primer documento mostrado. La señal anchorClicked() se emite cuando el usuario hace clic en un ancla. Para anular el comportamiento de navegación por defecto del navegador, llame a la función setSource() para suministrar el texto del nuevo documento en una ranura conectada a esta señal.
Si desea cargar documentos almacenados en el sistema de recursos Qt utilice qrc como esquema en la URL a cargar. Por ejemplo, para la ruta del recurso de documento :/docs/index.html utilice qrc:/docs/index.html como URL con setSource().
Véase también QTextEdit y QTextDocument.
Documentación de propiedades
[read-only] modified : bool
Esta propiedad indica si se ha modificado el contenido del navegador de texto
openExternalLinks : bool
Especifica si QTextBrowser debe abrir automáticamente enlaces a fuentes externas utilizando QDesktopServices::openUrl() en lugar de emitir la señal anchorClicked. Los enlaces se consideran externos si su esquema no es ni file ni qrc.
El valor por defecto es false.
Funciones de acceso:
| bool | openExternalLinks() const |
| void | setOpenExternalLinks(bool open) |
openLinks : bool
Esta propiedad especifica si QTextBrowser debe abrir automáticamente los enlaces que el usuario intenta activar mediante el ratón o el teclado.
Independientemente del valor de esta propiedad, siempre se emite la señal anchorClicked.
El valor por defecto es true.
Funciones de acceso:
| bool | openLinks() const |
| void | setOpenLinks(bool open) |
readOnly : bool
Esta propiedad indica si el navegador de texto es de sólo lectura.
Por defecto, esta propiedad es true.
searchPaths : QStringList
Esta propiedad contiene las rutas de búsqueda utilizadas por el navegador de texto para encontrar contenido de apoyo
QTextBrowser utiliza esta lista para localizar imágenes y documentos.
Por defecto, esta propiedad contiene una lista de cadenas vacía.
Funciones de acceso:
| QStringList | searchPaths() const |
| void | setSearchPaths(const QStringList &paths) |
source : QUrl
Esta propiedad contiene el nombre del documento mostrado.
Es una url inválida si no se muestra ningún documento o si la fuente es desconocida.
Al establecer esta propiedad QTextBrowser intenta encontrar un documento con el nombre especificado en las rutas de la propiedad searchPaths y el directorio de la fuente actual, a menos que el valor sea una ruta de archivo absoluta. También comprueba si hay anclajes opcionales y desplaza el documento en consecuencia.
Si la primera etiqueta del documento es <qt type=detail>, el documento se muestra como una ventana emergente en lugar de como un documento nuevo en la propia ventana del navegador. En caso contrario, el documento se muestra normalmente en el navegador de texto con el texto ajustado al contenido del documento nombrado con QTextDocument::setHtml() o QTextDocument::setMarkdown(), dependiendo de si el nombre del archivo termina con alguna de las extensiones de archivo Markdown conocidas.
Si desea evitar la detección automática de tipo y especificar el tipo explícitamente, llame a setSource() en lugar de establecer esta propiedad.
Por defecto, esta propiedad contiene una URL vacía.
Funciones de acceso:
| QUrl | source() const |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
[read-only] sourceType : QTextDocument::ResourceType
Esta propiedad contiene el tipo del documento mostrado
Es QTextDocument::UnknownResource si no se muestra ningún documento o si se desconoce el tipo de la fuente. En caso contrario, contiene el tipo detectado o el tipo especificado al llamar a setSource().
Funciones de acceso:
| QTextDocument::ResourceType | sourceType() const |
undoRedoEnabled : bool
Esta propiedad indica si el navegador de texto soporta operaciones de deshacer/rehacer.
Por defecto, esta propiedad es false.
Documentación de las funciones miembro
[explicit] QTextBrowser::QTextBrowser(QWidget *parent = nullptr)
Construye un QTextBrowser vacío con el padre parent.
[signal] void QTextBrowser::anchorClicked(const QUrl &link)
Esta señal se emite cuando el usuario hace clic en un ancla. La URL a la que hace referencia el ancla se pasa en link.
Tenga en cuenta que el navegador manejará automáticamente la navegación a la ubicación especificada por link a menos que la propiedad openLinks se establezca en false o se llame a setSource() en una ranura conectada. Este mecanismo se utiliza para anular las características de navegación por defecto del navegador.
[virtual slot] void QTextBrowser::backward()
Cambia el documento visualizado al documento anterior en la lista de documentos construida por los enlaces de navegación. No hace nada si no hay documento anterior.
Véase también forward() y backwardAvailable().
[signal] void QTextBrowser::backwardAvailable(bool available)
Esta señal se emite cuando cambia la disponibilidad de backward(). available es falsa cuando el usuario se encuentra en home(); en caso contrario, es verdadera.
int QTextBrowser::backwardHistoryCount() const
Devuelve el número de ubicaciones hacia atrás en el historial.
void QTextBrowser::clearHistory()
Borra el historial de documentos visitados y desactiva la navegación hacia adelante y hacia atrás.
Véase también backward() y forward().
[virtual protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
Intenta cargar el documento en el url dado con el type especificado.
setSource() llama a doSetSource. En Qt 5, setSource(const QUrl &url) era virtual. En Qt 6, doSetSource() es virtual, de modo que puede ser sobrescrito en subclases.
[override virtual protected] bool QTextBrowser::event(QEvent *e)
Reimplementa: QAbstractScrollArea::event(QEvent *event).
[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)
Reimplementa: QTextEdit::focusNextPrevChild(bool next).
[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)
Reimplementa: QTextEdit::focusOutEvent(QFocusEvent *e).
[virtual slot] void QTextBrowser::forward()
Cambia el documento visualizado por el documento siguiente de la lista de documentos construida por los enlaces de navegación. No hace nada si no hay documento siguiente.
Véase también backward() y forwardAvailable().
[signal] void QTextBrowser::forwardAvailable(bool available)
Esta señal se emite cuando cambia la disponibilidad de forward(). available es verdadera cuando el usuario navega por backward() y falsa cuando el usuario navega o va a forward().
int QTextBrowser::forwardHistoryCount() const
Devuelve el número de localizaciones adelantadas en el historial.
[signal] void QTextBrowser::highlighted(const QUrl &link)
Esta señal se emite cuando el usuario ha seleccionado pero no activado un ancla en el documento. La URL a la que hace referencia el ancla se pasa en link.
[signal] void QTextBrowser::historyChanged()
Esta señal se emite cuando cambia el historial.
Véase también historyTitle() y historyUrl().
QString QTextBrowser::historyTitle(int i) const
Devuelve el documentTitle() del HistoryItem.
| Entrada | Devuelve |
|---|---|
| i < 0 | backward() historia |
| i == 0 | actual, véase QTextBrowser::source() |
| i > 0 | forward() historia |
backaction.setToolTip(browser.historyTitle(-1)); forwardaction.setToolTip(browser.historyTitle(+1));
QUrl QTextBrowser::historyUrl(int i) const
Devuelve la url del HistoryItem.
| Entrada | Devuelve |
|---|---|
| i < 0 | backward() historia |
| i == 0 | actual, véase QTextBrowser::source() |
| i > 0 | forward() historia |
[virtual slot] void QTextBrowser::home()
Cambia el documento mostrado para que sea el primer documento del historial.
bool QTextBrowser::isBackwardAvailable() const
Devuelve true si el navegador de texto puede retroceder en el historial de documentos utilizando backward().
Véase también backwardAvailable() y backward().
bool QTextBrowser::isForwardAvailable() const
Devuelve true si el navegador de texto puede avanzar en el historial de documentos utilizando forward().
Véase también forwardAvailable() y forward().
[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)
Reimplementa: QTextEdit::keyPressEvent(QKeyEvent *e).
El evento ev se utiliza para proporcionar los siguientes atajos de teclado:
| Pulsar tecla | Acción |
|---|---|
| Alt+Flecha izquierda | backward() |
| Alt+Flecha derecha | forward() |
| Alt+Flecha arriba | home() |
[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)
Reimplementa: QTextEdit::loadResource(int tipo, const QUrl &nombre).
Esta función se llama cuando se carga el documento y para cada imagen del documento. type indica el tipo de recurso que debe cargarse. Se devuelve un QVariant inválido si el recurso no puede cargarse.
La implementación por defecto ignora type e intenta localizar los recursos interpretando name como un nombre de archivo. Si no es una ruta absoluta, intenta encontrar el archivo en las rutas de la propiedad searchPaths y en el mismo directorio que la fuente actual. Si tiene éxito, el resultado es un QVariant que almacena un QByteArray con el contenido del archivo.
Si reimplementa esta función, puede devolver otros tipos de QVariant. La siguiente tabla muestra los tipos de variantes admitidos en función del tipo de recurso:
[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)
Reimplementa: QTextEdit::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)
Reimplementa: QTextEdit::mousePressEvent(QMouseEvent *e).
[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)
Reimplementa: QTextEdit::mouseReleaseEvent(QMouseEvent *e).
[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)
Reimplementa: QTextEdit::paintEvent(QPaintEvent *event).
[virtual slot] void QTextBrowser::reload()
Recarga la fuente actual.
[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
Intenta cargar el documento en el url dado con el type especificado.
Si type es UnknownResource (por defecto), se detectará el tipo de documento: es decir, si la url termina con una extensión de .md, .mkd o .markdown, el documento se cargará a través de QTextDocument::setMarkdown(); en caso contrario, se cargará a través de QTextDocument::setHtml(). Esta detección puede evitarse especificando type explícitamente.
Nota: Función Setter para la propiedad source.
Véase también source().
[signal] void QTextBrowser::sourceChanged(const QUrl &src)
Esta señal se emite cuando la fuente ha cambiado, siendo src la nueva fuente.
Los cambios de fuente se producen tanto programáticamente al llamar a setSource(), forward(), backward() o home() como cuando el usuario hace clic en enlaces o pulsa las secuencias de teclas equivalentes.
© 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.