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 |
- Liste de tous les membres, y compris les membres hérités
- QTextBrowser fait partie des API de traitement de texte enrichi.
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().
Navigation
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
openExternalLinks : bool
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) |
openLinks : bool
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ée | Valeur de retour |
|---|---|
| i < 0 | backward() historique |
| i == 0 | actuel, voir QTextBrowser::source() |
| i > 0 | forward() historique |
backaction.setToolTip(browser.historyTitle(-1));
forwardaction.setToolTip(browser.historyTitle(+1));QUrl QTextBrowser::historyUrl(int i) const
Renvoie l'URL de l'HistoryItem.
| Entrée | Valeur de retour |
|---|---|
| i < 0 | backward() history |
| i == 0 | actuel, voir QTextBrowser::source() |
| i > 0 | forward() 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 touche | Action |
|---|---|
| Alt + Flèche gauche | backward() |
| Alt + Flèche droite | forward() |
| Alt + Flèche vers le haut | home() |
[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.