Sur cette page

QTextBrowser Class

La classe QTextBrowser fournit un navigateur de texte enrichi avec navigation hypertexte. En savoir plus...

En-tête : #include <QTextBrowser>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QTextEdit

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

virtual QVariant loadResource(int type, const QUrl &name) override

Slots publics

virtual void backward()
virtual void forward()
virtual void home()
virtual void reload()
void setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

Signaux

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)

Fonctions protégées

virtual void doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

Fonctions protégées réimplémentées

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

Description détaillée

Cette classe étend QTextEdit (en mode lecture seule), en ajoutant des fonctionnalités de navigation permettant aux utilisateurs de suivre les liens dans des documents hypertextes.

Si vous souhaitez mettre à la disposition de vos utilisateurs un éditeur de texte enrichi modifiable, utilisez QTextEdit. Si vous souhaitez un navigateur de texte sans navigation hypertexte, utilisez QTextEdit, et utilisez QTextEdit::setReadOnly() pour désactiver la modification. Si vous avez simplement besoin d'afficher un petit extrait de texte enrichi, utilisez QLabel.

Source et contenu du document

Le contenu de QTextEdit est défini à l’aide de setHtml() ou setPlainText(), mais QTextBrowser implémente également la fonction setSource(), ce qui permet d’utiliser un document nommé comme texte source. Le nom est recherché dans une liste de chemins de recherche et dans le répertoire de la fabrique de documents actuelle.

Si le nom d’un document se termine par une ancre (par exemple, «#anchor" »), le navigateur de texte se positionne automatiquement à cet endroit (à l’aide de scrollToAnchor()). Lorsque l’utilisateur clique sur un lien hypertexte, le navigateur appelle lui-même setSource() en passant la valeur href du lien en argument. Vous pouvez suivre la source actuelle en vous connectant au signal sourceChanged().

QTextBrowser fournit les slots backward() et forward() que vous pouvez utiliser pour implémenter les boutons Précédent et Suivant. Le slot home() définit le texte du tout premier document affiché. Le signal anchorClicked() est émis lorsque l'utilisateur clique sur une ancre. Pour remplacer le comportement de navigation par défaut du navigateur, appelez la fonction setSource() afin de fournir un nouveau texte de document dans un slot connecté à ce signal.

Si vous souhaitez charger des documents stockés dans le système de ressources Qt, utilisez qrc comme schéma dans l’URL à charger. Par exemple, pour le chemin d’accès à la ressource de document :/docs/index.html, utilisez qrc:/docs/index.html comme URL avec setSource().

Voir également QTextEdit et QTextDocument.

Documentation sur les propriétés

[read-only] modified : bool

Cette propriété est vraie, que le contenu du navigateur de texte ait été modifié ou non

Indique si QTextBrowser doit ouvrir automatiquement les liens vers des sources externes à l'aide de QDesktopServices::openUrl() au lieu d'émettre le signal anchorClicked. Les liens sont considérés comme externes si leur schéma n'est ni « file » ni « qrc ».

La valeur par défaut est « false ».

Fonctions d'accès :

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

Cette propriété permet de déterminer si QTextBrowser doit ouvrir automatiquement les liens que l'utilisateur tente d'activer à l'aide de la souris ou du clavier.

Quelle que soit la valeur de cette propriété, le signal « anchorClicked » est toujours émis.

La valeur par défaut est true.

Fonctions d'accès :

bool openLinks() const
void setOpenLinks(bool open)

readOnly : bool

Cette propriété indique si le navigateur de texte est en lecture seule

Par défaut, cette propriété est définie sur « true ».

searchPaths : QStringList

Cette propriété contient les chemins de recherche utilisés par le navigateur de texte pour trouver du contenu complémentaire

QTextBrowser utilise cette liste pour localiser les images et les documents.

Par défaut, cette propriété contient une liste de chaînes vide.

Fonctions d'accès :

QStringList searchPaths() const
void setSearchPaths(const QStringList &paths)

source : QUrl

Cette propriété contient le nom du document affiché.

Il s'agit d'une URL non valide si aucun document n'est affiché ou si la source est inconnue.

Lors de la définition de cette propriété, QTextBrowser tente de trouver un document portant le nom spécifié dans les chemins de la propriété « searchPaths » et dans le répertoire de la source actuelle, sauf si la valeur est un chemin de fichier absolu. Il vérifie également la présence d'ancres facultatives et fait défiler le document en conséquence

Si la première balise du document est <qt type=detail>, le document s’affiche sous forme de fenêtre contextuelle plutôt que comme un nouveau document dans la fenêtre du navigateur elle-même. Sinon, le document s’affiche normalement dans le navigateur de texte, le texte étant défini sur le contenu du document nommé à l’aide de QTextDocument::setHtml() ou QTextDocument::setMarkdown(), selon que le nom de fichier se termine ou non par l’une des extensions de fichier Markdown connues.

Si vous souhaitez éviter la détection automatique du type et spécifier le type explicitement, appelez ` setSource()` plutôt que de définir cette propriété.

Par défaut, cette propriété contient une URL vide.

Fonctions d'accès :

QUrl source() const
void setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

[read-only] sourceType : QTextDocument::ResourceType

Cette propriété contient le type du document affiché

Elle prend la valeur « QTextDocument::UnknownResource » si aucun document n’est affiché ou si le type de la source est inconnu. Sinon, elle contient le type qui a été détecté ou celui qui a été spécifié lors de l’appel de la fonction setSource().

Fonctions d'accès :

QTextDocument::ResourceType sourceType() const

undoRedoEnabled : bool

Cette propriété indique si le navigateur textuel prend en charge les opérations d'annulation et de rétablissement

Par défaut, cette propriété est définie sur « false ».

Documentation des fonctions membres

[explicit] QTextBrowser::QTextBrowser(QWidget *parent = nullptr)

Crée un objet QTextBrowser vide dont le parent est parent.

[signal] void QTextBrowser::anchorClicked(const QUrl &link)

Ce signal est émis lorsque l'utilisateur clique sur un lien d'ancrage. L'URL à laquelle renvoie ce lien est transmise via la propriété ` link`.

Notez que le navigateur gérera automatiquement la navigation vers l'emplacement spécifié par ` link `, sauf si la propriété ` openLinks ` est définie sur `false` ou si vous appelez ` setSource()` dans un slot connecté. Ce mécanisme est utilisé pour remplacer les fonctionnalités de navigation par défaut du navigateur.

[virtual slot] void QTextBrowser::backward()

Permet de passer au document précédent dans la liste des documents générée par la navigation entre les liens. Ne fait rien s'il n'y a pas de document précédent.

Voir également forward() et backwardAvailable().

[signal] void QTextBrowser::backwardAvailable(bool available)

Ce signal est émis lorsque la disponibilité de backward() change. available est faux lorsque l'utilisateur se trouve sur home() ; dans le cas contraire, il est vrai.

int QTextBrowser::backwardHistoryCount() const

Renvoie le nombre d'entrées précédentes dans l'historique.

void QTextBrowser::clearHistory()

Efface l'historique des documents consultés et désactive la navigation vers l'avant et vers l'arrière.

Voir aussi backward() et forward().

[virtual protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

Tente de charger le document à l'adresse url avec l'type spécifiée.

setSource() appelle doSetSource. Dans Qt 5, la fonction setSource(const QUrl &url) était virtuelle. Dans Qt 6, c'est la fonction doSetSource() qui est virtuelle, afin qu'elle puisse être redéfinie dans les sous-classes.

[override virtual protected] bool QTextBrowser::event(QEvent *e)

Réimplémente : QAbstractScrollArea::event(QEvent *event).

[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)

Réimplémente : QTextEdit::focusNextPrevChild(bool next).

[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)

Réimplémente : QTextEdit::focusOutEvent(QFocusEvent *e).

[virtual slot] void QTextBrowser::forward()

Passe au document suivant dans la liste des documents générée par la navigation entre les liens. Ne fait rien s'il n'y a pas de document suivant.

Voir également backward() et forwardAvailable().

[signal] void QTextBrowser::forwardAvailable(bool available)

Ce signal est émis lorsque la disponibilité de forward() change. available prend la valeur « true » lorsque l'utilisateur accède à backward() et « false » lorsqu'il accède à forward().

int QTextBrowser::forwardHistoryCount() const

Renvoie le nombre d'entrées suivantes dans l'historique.

[signal] void QTextBrowser::highlighted(const QUrl &link)

Ce signal est émis lorsque l'utilisateur a sélectionné une ancre dans le document sans l'avoir activée. L'URL à laquelle renvoie l'ancre est transmise dans ` link`.

[signal] void QTextBrowser::historyChanged()

Ce signal est émis lorsque l'historique change.

Voir également historyTitle() et historyUrl().

QString QTextBrowser::historyTitle(int i) const

Renvoie la méthode documentTitle() de l'objet HistoryItem.

EntréeValeur de retour
i < 0backward() historique
i == 0actuel, voir QTextBrowser::source()
i > 0forward() historique
backaction.setToolTip(browser.historyTitle(-1));
forwardaction.setToolTip(browser.historyTitle(+1));

QUrl QTextBrowser::historyUrl(int i) const

Renvoie l'URL de l'HistoryItem.

EntréeValeur de retour
i < 0backward() history
i == 0actuel, voir QTextBrowser::source()
i > 0forward() historique

[virtual slot] void QTextBrowser::home()

Affiche le premier document de l'historique.

bool QTextBrowser::isBackwardAvailable() const

Renvoie true si le navigateur textuel permet de revenir en arrière dans l'historique du document à l'aide de backward().

Voir également ` backwardAvailable()` et ` backward()`.

bool QTextBrowser::isForwardAvailable() const

Renvoie ` true ` si le navigateur textuel peut avancer dans l'historique du document à l'aide de ` forward()` ().

Voir également forwardAvailable() et forward().

[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)

Réimplémente : QTextEdit::keyPressEvent(QKeyEvent *e).

L'événement ev permet de définir les raccourcis clavier suivants :

Appui sur une toucheAction
Alt + Flèche gauchebackward()
Alt + Flèche droiteforward()
Alt + Flèche vers le hauthome()

[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)

Réimplémente : QTextEdit::loadResource(int type, const QUrl &name).

Cette fonction est appelée lors du chargement du document et pour chaque image contenue dans celui-ci. Le paramètre ` type ` indique le type de ressource à charger. Une erreur ` QVariant ` est renvoyée si la ressource ne peut pas être chargée.

L’implémentation par défaut ignore type et tente de localiser les ressources en interprétant name comme un nom de fichier. S’il ne s’agit pas d’un chemin absolu, elle tente de trouver le fichier dans les chemins de la propriété searchPaths et dans le même répertoire que la source actuelle. En cas de succès, le résultat est un QVariant qui stocke un QByteArray contenant le contenu du fichier.

Si vous réimplémentez cette fonction, vous pouvez renvoyer d’autres types d’ QVariant. Le tableau ci-dessous indique les types de variantes pris en charge en fonction du type de ressource :

[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)

Réimplémente : QTextEdit::mouseMoveEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)

Réimplémente : QTextEdit::mousePressEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)

Réimplémente : QTextEdit::mouseReleaseEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)

Réimplémente : QTextEdit::paintEvent(QPaintEvent *event).

[virtual slot] void QTextBrowser::reload()

Recharge la source actuellement sélectionnée.

[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

Tente de charger le document à l'adresse url avec l'type spécifiée.

Si type correspond à UnknownResource (valeur par défaut), le type de document sera détecté : ainsi, si l'URL se termine par une extension de type .md, .mkd ou .markdown, le document sera chargé via QTextDocument::setMarkdown() ; dans le cas contraire, il sera chargé via QTextDocument::setHtml(). Cette détection peut être contournée en spécifiant explicitement l'type.

Remarque : fonctionde définition pour la propriété source.

Voir également source().

[signal] void QTextBrowser::sourceChanged(const QUrl &src)

Ce signal est émis lorsque la source a changé, src étant la nouvelle source.

Les changements de source se produisent à la fois par programmation, lors de l'appel des fonctions setSource(), forward(), backward() ou home(), et lorsque l'utilisateur clique sur des liens ou appuie sur les séquences de touches équivalentes.

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