|  | Home · All Classes · Modules

# QTextBrowser Class Reference
[QtGui module]

The QTextBrowser class provides a rich text browser with hypertext navigation. More...

Inherits QTextEdit.

### Methods

- __init__ (self, QWidget parent = None)
- backward (self)
- int backwardHistoryCount (self)
- clearHistory (self)
- bool event (self, QEvent)
- bool focusNextPrevChild (self, bool)
- focusOutEvent (self, QFocusEvent)
- forward (self)
- int forwardHistoryCount (self)
- QString historyTitle (self, int)
- QUrl historyUrl (self, int)
- home (self)
- bool isBackwardAvailable (self)
- bool isForwardAvailable (self)
- keyPressEvent (self, QKeyEvent)
- QVariant loadResource (self, int, QUrl)
- mouseMoveEvent (self, QMouseEvent)
- mousePressEvent (self, QMouseEvent)
- mouseReleaseEvent (self, QMouseEvent)
- bool openExternalLinks (self)
- bool openLinks (self)
- paintEvent (self, QPaintEvent)
- reload (self)
- QStringList searchPaths (self)
- setOpenExternalLinks (self, bool)
- setOpenLinks (self, bool)
- setSearchPaths (self, QStringList)
- setSource (self, QUrl)
- QUrl source (self)

### Qt Signals

- void anchorClicked (const QUrl&)
- void backwardAvailable (bool)
- void forwardAvailable (bool)
- void highlighted (const QUrl&)
- void highlighted (const QString&)
- void historyChanged ()
- void sourceChanged (const QUrl&)

## Detailed Description

The QTextBrowser class provides a rich text browser with hypertext navigation.

This class extends QTextEdit (in read-only mode), adding some navigation functionality so that users can follow links in hypertext documents.

If you want to provide your users with an editable rich text editor, use QTextEdit. If you want a text browser without hypertext navigation use QTextEdit, and use QTextEdit.setReadOnly() to disable editing. If you just need to display a small piece of rich text use QLabel.

### Document Source and Contents

The contents of QTextEdit are set with setHtml() or setPlainText(), but QTextBrowser also implements the setSource() function, making it possible to use a named document as the source text. The name is looked up in a list of search paths and in the directory of the current document factory.

If a document name ends with an anchor (for example, "`#anchor"`), the text browser automatically scrolls to that position (using scrollToAnchor()). When the user clicks on a hyperlink, the browser will call setSource() itself with the link's `href` value as argument. You can track the current source by connecting to the sourceChanged() signal.

### Navigation

QTextBrowser provides backward() and forward() slots which you can use to implement Back and Forward buttons. The home() slot sets the text to the very first document displayed. The anchorClicked() signal is emitted when the user clicks an anchor. To override the default navigation behavior of the browser, call the setSource() function to supply new document text in a slot connected to this signal.

If you want to load documents stored in the Qt resource system use `qrc` as the scheme in the URL to load. For example, for the document resource path `:/docs/index.html` use `qrc:/docs/index.html` as the URL with setSource().

## Method Documentation

### QTextBrowser.__init__ (self, QWidget parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs an empty QTextBrowser with parent parent.

### QTextBrowser.backward (self)

This method is also a Qt slot with the C++ signature `void backward()`.

Changes the document displayed to the previous document in the list of documents built by navigating links. Does nothing if there is no previous document.

See also forward() and backwardAvailable().

### int QTextBrowser.backwardHistoryCount (self)

Returns the number of locations backward in the history.

This function was introduced in Qt 4.4.

### QTextBrowser.clearHistory (self)

Clears the history of visited documents and disables the forward and backward navigation.

This function was introduced in Qt 4.2.

See also backward() and forward().

### bool QTextBrowser.event (self, QEvent)

Reimplemented from QObject.event().

### bool QTextBrowser.focusNextPrevChild (self, bool)

Reimplemented from QWidget.focusNextPrevChild().

### QTextBrowser.focusOutEvent (self, QFocusEvent)

Reimplemented from QWidget.focusOutEvent().

### QTextBrowser.forward (self)

This method is also a Qt slot with the C++ signature `void forward()`.

Changes the document displayed to the next document in the list of documents built by navigating links. Does nothing if there is no next document.

See also backward() and forwardAvailable().

### int QTextBrowser.forwardHistoryCount (self)

Returns the number of locations forward in the history.

This function was introduced in Qt 4.4.

### QString QTextBrowser.historyTitle (self, int)

Returns the documentTitle() of the HistoryItem.

Input | Return
--- | ---
i < 0 | backward() history
i == 0 | current, see QTextBrowser.source()
i > 0 | forward() history

     backaction.setToolTip(browser.historyTitle(-1));
     forwardaction.setToolTip(browser.historyTitle(+1));

This function was introduced in Qt 4.4.

### QUrl QTextBrowser.historyUrl (self, int)

Returns the url of the HistoryItem.

Input | Return
--- | ---
i < 0 | backward() history
i == 0 | current, see QTextBrowser.source()
i > 0 | forward() history

This function was introduced in Qt 4.4.

### QTextBrowser.home (self)

This method is also a Qt slot with the C++ signature `void home()`.

Changes the document displayed to be the first document from the history.

### bool QTextBrowser.isBackwardAvailable (self)

Returns true if the text browser can go backward in the document history using backward().

This function was introduced in Qt 4.2.

See also backwardAvailable() and backward().

### bool QTextBrowser.isForwardAvailable (self)

Returns true if the text browser can go forward in the document history using forward().

This function was introduced in Qt 4.2.

See also forwardAvailable() and forward().

### QTextBrowser.keyPressEvent (self, QKeyEvent)

Reimplemented from QWidget.keyPressEvent().

The event ev is used to provide the following keyboard shortcuts:

Keypress | Action
--- | ---
Alt+Left Arrow | backward()
Alt+Right Arrow | forward()
Alt+Up Arrow | home()

### QVariant QTextBrowser.loadResource (self, int, QUrl)

Reimplemented from QTextEdit.loadResource().

This function is called when the document is loaded and for each image in the document. The type indicates the type of resource to be loaded. An invalid QVariant is returned if the resource cannot be loaded.

The default implementation ignores type and tries to locate the resources by interpreting name as a file name. If it is not an absolute path it tries to find the file in the paths of the searchPaths property and in the same directory as the current source. On success, the result is a QVariant that stores a QByteArray with the contents of the file.

If you reimplement this function, you can return other QVariant types. The table below shows which variant types are supported depending on the resource type:

ResourceType | QVariant.Type
--- | ---
QTextDocument.HtmlResource | QString or QByteArray
QTextDocument.ImageResource | QImage, QPixmap or QByteArray
QTextDocument.StyleSheetResource | QString or QByteArray

### QTextBrowser.mouseMoveEvent (self, QMouseEvent)

Reimplemented from QWidget.mouseMoveEvent().

### QTextBrowser.mousePressEvent (self, QMouseEvent)

Reimplemented from QWidget.mousePressEvent().

### QTextBrowser.mouseReleaseEvent (self, QMouseEvent)

Reimplemented from QWidget.mouseReleaseEvent().

### bool QTextBrowser.openExternalLinks (self)

### bool QTextBrowser.openLinks (self)

### QTextBrowser.paintEvent (self, QPaintEvent)

Reimplemented from QWidget.paintEvent().

### QTextBrowser.reload (self)

This method is also a Qt slot with the C++ signature `void reload()`.

Reloads the current set source.

### QStringList QTextBrowser.searchPaths (self)

### QTextBrowser.setOpenExternalLinks (self, bool)

### QTextBrowser.setOpenLinks (self, bool)

### QTextBrowser.setSearchPaths (self, QStringList)

### QTextBrowser.setSource (self, QUrl)

This method is also a Qt slot with the C++ signature `void setSource(const QUrl&)`.

### QUrl QTextBrowser.source (self)

## Qt Signal Documentation

### void anchorClicked (const QUrl&)

This is the default overload of this signal.

This signal is emitted when the user clicks an anchor. The URL referred to by the anchor is passed in link.

Note that the browser will automatically handle navigation to the location specified by link unless the openLinks property is set to false or you call setSource() in a slot connected. This mechanism is used to override the default navigation features of the browser.

### void backwardAvailable (bool)

This is the default overload of this signal.

This signal is emitted when the availability of backward() changes. available is false when the user is at home(); otherwise it is true.

### void forwardAvailable (bool)

This is the default overload of this signal.

This signal is emitted when the availability of forward() changes. available is true after the user navigates backward() and false when the user navigates or goes forward().

### void highlighted (const QUrl&)

This is the default overload of this signal.

This signal is emitted when the user has selected but not activated an anchor in the document. The URL referred to by the anchor is passed in link.

### void highlighted (const QString&)

This is an overloaded function.

Convenience signal that allows connecting to a slot that takes just a QString, like for example QStatusBar's message().

### void historyChanged ()

This is the default overload of this signal.

This signal is emitted when the history changes.

This function was introduced in Qt 4.4.

See also historyTitle() and historyUrl().

### void sourceChanged (const QUrl&)

This is the default overload of this signal.

This signal is emitted when the source has changed, src being the new source.

Source changes happen both programmatically when calling setSource(), forward(), backword() or home() or when the user clicks on links or presses the equivalent key sequences.