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 |
- Liste de tous les membres, y compris les membres hérités
- QTextBrowser fait partie de Rich Text Processing APIs.
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().
Navigation
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é
openExternalLinks : bool
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) |
openLinks : bool
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ée | Retour |
|---|---|
| i < 0 | backward() histoire |
| 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'élément d'historique.
| Entrée | Retour |
|---|---|
| i < 0 | backward() histoire |
| i == 0 | actuel, voir QTextBrowser::source() |
| i > 0 | forward() 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 touche | Action |
|---|---|
| Alt+Flèche gauche | backward() |
| Alt+Flèche droite | forward() |
| Alt+Flèche 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 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.