Sur cette page

QTextBrowser Class

La classe QTextBrowser fournit un navigateur de texte riche avec navigation hypertexte. Plus d'informations...

En-tête : #include <QTextBrowser>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : 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

Emplacements 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 afin que les utilisateurs puissent suivre des liens dans des documents hypertextes.

Si vous souhaitez fournir à vos utilisateurs un éditeur de texte enrichi modifiable, utilisez QTextEdit. Si vous voulez un navigateur de texte sans navigation hypertexte, utilisez QTextEdit, et utilisez QTextEdit::setReadOnly() pour désactiver l'édition. Si vous avez seulement besoin d'afficher un petit morceau de texte enrichi, utilisez QLabel.

Source du document et contenu

Le contenu de QTextEdit est défini avec 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 l'usine de documents actuelle.

Si le nom d'un document se termine par une ancre (par exemple, "#anchor""), le navigateur texte défile automatiquement jusqu'à cette position (à l'aide de scrollToAnchor()). Lorsque l'utilisateur clique sur un hyperlien, le navigateur appelle lui-même setSource() avec la valeur href du lien comme argument. Vous pouvez suivre la source actuelle en vous connectant au signal sourceChanged().

QTextBrowser fournit les emplacements backward() et forward() que vous pouvez utiliser pour implémenter les boutons Précédent et Suivant. L'emplacement home() positionne le texte sur le 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() pour fournir le texte du nouveau 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 des ressources documentaires :/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é indique si le contenu du navigateur de texte a été modifié

Indique si QTextBrowser doit automatiquement ouvrir les liens vers des sources externes en utilisant 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é indique 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 true.

searchPaths : QStringList

Cette propriété contient les chemins de recherche utilisés par le navigateur textuel pour trouver le contenu d'accompagnement

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

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

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 invalide si aucun document n'est affiché ou si la source est inconnue.

Lorsque cette propriété est définie, QTextBrowser tente de trouver un document portant le nom spécifié dans les chemins d'accès de la propriété searchPaths et du répertoire de la source actuelle, à moins que la valeur ne soit un chemin d'accès 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 est affiché comme une fenêtre contextuelle plutôt que comme un nouveau document dans la fenêtre du navigateur elle-même. Sinon, le document est affiché normalement dans le navigateur texte, le texte étant défini comme le contenu du document nommé avec 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é

Cette propriété est QTextDocument::UnknownResource si aucun document n'est affiché ou si le type de la source est inconnu. Dans le cas contraire, elle contient le type détecté ou le type spécifié lors de l'appel à setSource().

Fonctions d'accès :

QTextDocument::ResourceType sourceType() const

undoRedoEnabled : bool

Cette propriété indique si le navigateur de texte prend en charge les opérations annuler/refaire

Par défaut, cette propriété est false.

Documentation des fonctions membres

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

Construit un QTextBrowser vide avec le parent parent.

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

Ce signal est émis lorsque l'utilisateur clique sur une ancre. L'URL à laquelle l'ancre fait référence est transmise dans link.

Notez que le navigateur gère 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 fonctions de navigation par défaut du navigateur.

[virtual slot] void QTextBrowser::backward()

Remplace le document affiché par le document précédent dans la liste des documents construits par les liens de navigation. Ne fait rien s'il n'y a pas de document précédent.

Voir aussi 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 à home() ; sinon, il est vrai.

int QTextBrowser::backwardHistoryCount() const

Renvoie le nombre de lieux en arrière dans l'historique.

void QTextBrowser::clearHistory()

Efface l'historique des documents visités et désactive la navigation avant et 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'adresse type spécifiée.

setSource() appelle doSetSource. Dans Qt 5, setSource(const QUrl &url) était virtuel. Dans Qt 6, doSetSource() est virtuelle, de sorte qu'elle peut être surchargée 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()

Remplace le document affiché par le document suivant dans la liste des documents établie par les liens de navigation. Ne fait rien s'il n'y a pas de document suivant.

Voir aussi backward() et forwardAvailable().

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

Ce signal est émis lorsque la disponibilité de forward() change. available est vrai après que l'utilisateur a navigué sur backward() et faux lorsque l'utilisateur navigue ou va sur forward().

int QTextBrowser::forwardHistoryCount() const

Renvoie le nombre d'emplacements avancés dans l'historique.

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

Ce signal est émis lorsque l'utilisateur a sélectionné mais pas activé une ancre dans le document. L'URL à laquelle l'ancre fait référence est transmise à link.

[signal] void QTextBrowser::historyChanged()

Ce signal est émis lorsque l'historique est modifié.

Voir aussi historyTitle() et historyUrl().

QString QTextBrowser::historyTitle(int i) const

Renvoie l'adresse documentTitle() de l'élément d'histoire.

EntréeRetour
i < 0backward() histoire
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'élément d'historique.

EntréeRetour
i < 0backward() histoire
i == 0actuel, voir QTextBrowser::source()
i > 0forward() historique

[virtual slot] void QTextBrowser::home()

Modifie le document affiché pour qu'il soit le premier document de l'historique.

bool QTextBrowser::isBackwardAvailable() const

Renvoie true si le navigateur textuel peut revenir en arrière dans l'historique du document en utilisant backward().

Voir aussi backwardAvailable() et backward().

bool QTextBrowser::isForwardAvailable() const

Renvoie true si le navigateur textuel peut avancer dans l'historique du document en utilisant forward().

Voir aussi forwardAvailable() et forward().

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

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

L'événement ev est utilisé pour fournir les raccourcis clavier suivants :

Appuyer sur une toucheAction
Alt+Flèche gauchebackward()
Alt+Flèche droiteforward()
Alt+Flèche 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 du document. L'adresse type indique le type de ressource à charger. Un QVariant invalide est renvoyé 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 avec le contenu du fichier.

Si vous réimplémentez cette fonction, vous pouvez renvoyer d'autres types de 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 actuelle de l'ensemble.

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

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

Si type est UnknownResource (par défaut), le type de document sera détecté : c'est-à-dire que si l'url se termine par une extension .md, .mkd ou .markdown, le document sera chargé via QTextDocument::setMarkdown() ; sinon, il sera chargé via QTextDocument::setHtml(). Cette détection peut être contournée en spécifiant explicitement type.

Remarque : fonction de définition de la propriété source.

Voir aussi 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 à setSource(), forward(), backward() ou home() ou 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.