QTextBrowser Class
Die Klasse „QTextBrowser“ stellt einen Rich-Text-Browser mit Hypertext-Navigation bereit. Mehr...
| Kopfzeile: | #include <QTextBrowser> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Erbt von: | QTextEdit |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTextBrowser ist Teil der Rich-Text-Verarbeitungs-APIs.
Eigenschaften
|
|
Öffentliche Funktionen
| 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 |
Neu implementierte öffentliche Funktionen
| virtual QVariant | loadResource(int type, const QUrl &name) override |
Öffentliche Slots
| virtual void | backward() |
| virtual void | forward() |
| virtual void | home() |
| virtual void | reload() |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
Signale
| 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) |
Geschützte Funktionen
| virtual void | doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
Neu implementierte geschützte Funktionen
| 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 |
Detaillierte Beschreibung
Diese Klasse erweitert „ QTextEdit “ (im schreibgeschützten Modus) und fügt einige Navigationsfunktionen hinzu, damit Benutzer Links in Hypertext-Dokumenten folgen können.
Wenn Sie Ihren Benutzern einen bearbeitbaren Rich-Text-Editor zur Verfügung stellen möchten, verwenden Sie ` QTextEdit`. Wenn Sie einen Textbrowser ohne Hypertext-Navigation wünschen, verwenden Sie ` QTextEdit` und deaktivieren Sie die Bearbeitung mit ` QTextEdit::setReadOnly()`. Wenn Sie lediglich einen kleinen Ausschnitt aus Rich Text anzeigen möchten, verwenden Sie ` QLabel`.
Dokumentquelle und Inhalt
Der Inhalt von QTextEdit wird mit setHtml() oder setPlainText() festgelegt, aber QTextBrowser implementiert auch die Funktion setSource(), wodurch es möglich ist, ein benanntes Dokument als Quelltext zu verwenden. Der Name wird in einer Liste von Suchpfaden und im Verzeichnis der aktuellen Dokumentfabrik gesucht.
Endet ein Dokumentname mit einem Anker (z. B. „#anchor"), scrollt der Textbrowser automatisch zu dieser Position (unter Verwendung von ` scrollToAnchor()`). Wenn der Benutzer auf einen Hyperlink klickt, ruft der Browser selbst ` setSource()` mit dem ` href `-Wert des Links als Argument auf. Sie können die aktuelle Quelle verfolgen, indem Sie sich an das Signal ` sourceChanged()` anschließen.
Navigation
QTextBrowser stellt die Slots „ backward()“ und „ forward()“ zur Verfügung, mit denen Sie die Schaltflächen „Zurück“ und „Weiter“ implementieren können. Der Slot „ home()“ setzt den Text auf das allererste angezeigte Dokument. Das Signal „ anchorClicked()“ wird ausgelöst, wenn der Benutzer auf einen Anker klickt. Um das Standard-Navigationsverhalten des Browsers zu überschreiben, rufen Sie die Funktion „ setSource “ () auf, um in einem mit diesem Signal verbundenen Slot einen neuen Dokumenttext anzugeben.
Wenn Sie Dokumente laden möchten, die im Qt-Ressourcensystem gespeichert sind, verwenden Sie qrc als Schema in der zu ladenden URL. Verwenden Sie beispielsweise für den Dokumentressourcenpfad :/docs/index.html die URL qrc:/docs/index.html mit setSource().
Siehe auch QTextEdit und QTextDocument.
Dokumentation zu den Eigenschaften
[read-only] modified : bool
Diese Eigenschaft gilt unabhängig davon, ob der Inhalt des Textbrowsers geändert wurde
openExternalLinks : bool
Legt fest, ob „ QTextBrowser “ Links zu externen Quellen automatisch mit „ QDesktopServices::openUrl()“ öffnen soll, anstatt das Signal „ anchorClicked “ auszulösen. Links gelten als extern, wenn ihr Schema weder „file“ noch „qrc“ ist.
Der Standardwert ist „false“.
Zugriffsfunktionen:
| bool | openExternalLinks() const |
| void | setOpenExternalLinks(bool open) |
openLinks : bool
Diese Eigenschaft legt fest, ob „ QTextBrowser “ Links automatisch öffnen soll, die der Benutzer mit der Maus oder der Tastatur zu aktivieren versucht.
Unabhängig vom Wert dieser Eigenschaft wird das Signal „ anchorClicked “ immer ausgelöst.
Der Standardwert ist „true“.
Zugriffsfunktionen:
| bool | openLinks() const |
| void | setOpenLinks(bool open) |
readOnly : bool
Diese Eigenschaft gibt an, ob der Textbrowser schreibgeschützt ist
Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.
searchPaths : QStringList
Diese Eigenschaft enthält die Suchpfade, die der Textbrowser verwendet, um begleitende Inhalte zu finden
QTextBrowser nutzt diese Liste, um Bilder und Dokumente zu finden.
Standardmäßig enthält diese Eigenschaft eine leere Zeichenfolgenliste.
Zugriffsfunktionen:
| QStringList | searchPaths() const |
| void | setSearchPaths(const QStringList &paths) |
source : QUrl
Diese Eigenschaft enthält den Namen des angezeigten Dokuments.
Dies ist eine ungültige URL, wenn kein Dokument angezeigt wird oder die Quelle unbekannt ist.
Beim Festlegen dieser Eigenschaft versucht QTextBrowser, ein Dokument mit dem angegebenen Namen in den Pfaden der Eigenschaft „ searchPaths “ und im Verzeichnis der aktuellen Quelle zu finden, es sei denn, der Wert ist ein absoluter Dateipfad. Außerdem wird nach optionalen Ankerpunkten gesucht und das Dokument entsprechend gescrollt
Ist das erste Tag im Dokument „ <qt type=detail> “, wird das Dokument als Popup angezeigt und nicht als neues Dokument im Browserfenster selbst. Andernfalls wird das Dokument normal im Textbrowser angezeigt, wobei der Text auf den Inhalt des benannten Dokuments gesetzt wird – je nachdem, ob der Dateiname mit einer der bekannten Markdown-Dateiendungen endet, entweder mit „ QTextDocument::setHtml()“ oder „ QTextDocument::setMarkdown()“.
Wenn Sie die automatische Typenerkennung vermeiden und den Typ explizit festlegen möchten, rufen Sie „ setSource “() auf, anstatt diese Eigenschaft zu setzen.
Standardmäßig enthält diese Eigenschaft eine leere URL.
Zugriffsfunktionen:
| QUrl | source() const |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
[read-only] sourceType : QTextDocument::ResourceType
Diese Eigenschaft enthält den Typ des angezeigten Dokuments
Dies ist „ QTextDocument::UnknownResource “, wenn kein Dokument angezeigt wird oder der Typ der Quelle unbekannt ist. Andernfalls enthält sie den erkannten Typ oder den Typ, der beim Aufruf von „ setSource()“ angegeben wurde.
Zugriffsfunktionen:
| QTextDocument::ResourceType | sourceType() const |
undoRedoEnabled : bool
Diese Eigenschaft gibt an, ob der Textbrowser Rückgängig-/Wiederherstellen-Funktionen unterstützt
Standardmäßig lautet der Wert dieser Eigenschaft „ false “.
Dokumentation der Member-Funktionen
[explicit] QTextBrowser::QTextBrowser(QWidget *parent = nullptr)
Erstellt einen leeren QTextBrowser mit dem übergeordneten Element „ parent “.
[signal] void QTextBrowser::anchorClicked(const QUrl &link)
Dieses Signal wird ausgelöst, wenn der Benutzer auf einen Anker klickt. Die URL, auf die der Anker verweist, wird in „ link “ übergeben.
Beachten Sie, dass der Browser die Navigation zu der durch „ link “ angegebenen Adresse automatisch übernimmt, es sei denn, die Eigenschaft „ openLinks “ ist auf „false“ gesetzt oder Sie rufen „ setSource()“ in einem verbundenen Slot auf. Dieser Mechanismus wird verwendet, um die Standard-Navigationsfunktionen des Browsers zu überschreiben.
[virtual slot] void QTextBrowser::backward()
Wechselt das angezeigte Dokument zum vorherigen Dokument in der Liste der Dokumente, die durch das Navigieren über Links erstellt wurde. Es geschieht nichts, wenn kein vorheriges Dokument vorhanden ist.
Siehe auch forward() und backwardAvailable().
[signal] void QTextBrowser::backwardAvailable(bool available)
Dieses Signal wird ausgelöst, wenn sich die Verfügbarkeit von backward() ändert. available ist „false“, wenn sich der Benutzer unter home() befindet; andernfalls ist es „true“.
int QTextBrowser::backwardHistoryCount() const
Gibt die Anzahl der Positionen zurück, die man im Verlauf rückwärts zurückgehen muss.
void QTextBrowser::clearHistory()
Löscht den Verlauf der aufgerufenen Dokumente und deaktiviert die Navigation vorwärts und rückwärts.
Siehe auch backward() und forward().
[virtual protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
Es wird versucht, das Dokument unter der angegebenen Adresse url mit der angegebenen URL type zu laden.
setSource() ruft doSetSource auf. In Qt 5 war setSource(const QUrl &url) virtuell. In Qt 6 ist stattdessen doSetSource() virtuell, sodass es in Unterklassen überschrieben werden kann.
[override virtual protected] bool QTextBrowser::event(QEvent *e)
Umsetzt: ` QAbstractScrollArea::event(QEvent *event)`.
[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)
Implementiert: ` QTextEdit::focusNextPrevChild` (bool next).
[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)
Umsetzt: ` QTextEdit::focusOutEvent(QFocusEvent *e)`.
[virtual slot] void QTextBrowser::forward()
Wechselt das angezeigte Dokument zum nächsten Dokument in der Liste der Dokumente, die durch das Navigieren über Links erstellt wurde. Führt keine Aktion aus, wenn kein nächstes Dokument vorhanden ist.
Siehe auch backward() und forwardAvailable().
[signal] void QTextBrowser::forwardAvailable(bool available)
Dieses Signal wird ausgelöst, wenn sich die Verfügbarkeit von „ forward “ () ändert. „ available “ ist wahr, nachdem der Benutzer zu „ backward “ () navigiert ist, und falsch, wenn der Benutzer zu „ forward “ () navigiert oder diese Seite verlässt.
int QTextBrowser::forwardHistoryCount() const
Gibt die Anzahl der Positionen in der Historie zurück, die in die Zukunft reichen.
[signal] void QTextBrowser::highlighted(const QUrl &link)
Dieses Signal wird ausgelöst, wenn der Benutzer einen Anker im Dokument ausgewählt, aber noch nicht aktiviert hat. Die URL, auf die der Anker verweist, wird in „ link “ übergeben.
[signal] void QTextBrowser::historyChanged()
Dieses Signal wird ausgegeben, wenn sich der Verlauf ändert.
Siehe auch historyTitle() und historyUrl().
QString QTextBrowser::historyTitle(int i) const
Gibt die ` documentTitle()` des `HistoryItem` zurück.
| Eingabe | Rückgabewert |
|---|---|
| i < 0 | backward() Verlauf |
| i == 0 | aktuell, siehe QTextBrowser::source() |
| i > 0 | forward() Verlauf |
backaction.setToolTip(browser.historyTitle(-1));
forwardaction.setToolTip(browser.historyTitle(+1));QUrl QTextBrowser::historyUrl(int i) const
Gibt die URL des HistoryItem zurück.
| Eingabe | Rückgabewert |
|---|---|
| i < 0 | backward() history |
| i == 0 | aktuell, siehe QTextBrowser::source() |
| i > 0 | forward() Verlauf |
[virtual slot] void QTextBrowser::home()
Wechselt das angezeigte Dokument zum ersten Dokument aus dem Verlauf.
bool QTextBrowser::isBackwardAvailable() const
Gibt „ true “ zurück, wenn der Textbrowser mithilfe von „ backward()“ im Dokumentverlauf zurückblättern kann.
Siehe auch „ backwardAvailable()“ und „ backward()“.
bool QTextBrowser::isForwardAvailable() const
Gibt „ true “ zurück, wenn der Textbrowser mithilfe von „ forward()“ im Dokumentverlauf vorwärts blättern kann.
Siehe auch „ forwardAvailable()“ und „ forward()“.
[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)
Implementiert: ` QTextEdit::keyPressEvent(QKeyEvent *e)`.
Das Ereignis ` ev ` wird verwendet, um die folgenden Tastaturkürzel bereitzustellen:
| Tastendruck | Aktion |
|---|---|
| Alt+Pfeil nach links | backward() |
| Alt+Pfeil nach rechts | forward() |
| Alt+Pfeil nach oben | home() |
[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)
Umsetzt: QTextEdit::loadResource(int type, const QUrl &name).
Diese Funktion wird beim Laden des Dokuments sowie für jedes Bild im Dokument aufgerufen. Der Parameter „ type “ gibt den Typ der zu ladenden Ressource an. Wenn die Ressource nicht geladen werden kann, wird ein ungültiger „ QVariant “ zurückgegeben.
Die Standardimplementierung ignoriert „ type “ und versucht, die Ressourcen zu finden, indem sie „ name “ als Dateinamen interpretiert. Handelt es sich nicht um einen absoluten Pfad, versucht sie, die Datei in den Pfaden der Eigenschaft „ searchPaths “ sowie im selben Verzeichnis wie die aktuelle Quelle zu finden. Bei Erfolg ist das Ergebnis ein „ QVariant “, der ein „ QByteArray “ mit dem Inhalt der Datei enthält.
Wenn Sie diese Funktion neu implementieren, können Sie andere „ QVariant “-Typen zurückgeben. Die folgende Tabelle zeigt, welche Varianten je nach Ressourcentyp unterstützt werden:
[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)
Implementiert: QTextEdit::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)
Implementiert: ` QTextEdit::mousePressEvent(QMouseEvent *e)`.
[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)
Implementiert neu: ` QTextEdit::mouseReleaseEvent(QMouseEvent *e)`.
[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)
Umsetzt: ` QTextEdit::paintEvent` (`QPaintEvent *event`).
[virtual slot] void QTextBrowser::reload()
Lädt die aktuelle Quelle neu.
[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
Es wird versucht, das Dokument unter der angegebenen Adresse url mit dem angegebenen Dokumenttyp type zu laden.
Wenn type gleich UnknownResource ist (Standard), wird der Dokumenttyp erkannt: Das heißt, wenn die URL mit einer Erweiterung wie .md, .mkd oder .markdown endet, wird das Dokument über QTextDocument::setMarkdown() geladen; andernfalls wird es über QTextDocument::setHtml() geladen. Diese Erkennung kann umgangen werden, indem type explizit angegeben wird.
Hinweis: Setter -Funktion für die Eigenschaft ` source`.
Siehe auch ` source()`.
[signal] void QTextBrowser::sourceChanged(const QUrl &src)
Dieses Signal wird ausgelöst, wenn sich die Quelle geändert hat, wobei src die neue Quelle ist.
Quellenwechsel erfolgen sowohl programmgesteuert beim Aufruf von ` setSource()`, ` forward()`, ` backward()` oder ` home()` als auch, wenn der Benutzer auf Links klickt oder die entsprechenden Tastenkombinationen drückt.
© 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.