|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QTextBrowser Class Reference
[QtGui module]

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

     #include <QTextBrowser>

Inherits QTextEdit.

- List of all members, including inherited members
- Qt 3 support members

### Properties

modified : const bool openExternalLinks : bool openLinks : bool readOnly : const bool | searchPaths : QStringList source : QUrl undoRedoEnabled : const bool

- 15 properties inherited from QTextEdit
- 2 properties inherited from QAbstractScrollArea
- 6 properties inherited from QFrame
- 56 properties inherited from QWidget
- 1 property inherited from QObject

### Public Functions

- QTextBrowser ( QWidget * parent = 0 )
- void clearHistory ()
- bool isBackwardAvailable () const
- bool isForwardAvailable () const
- virtual QVariant loadResource ( int type, const QUrl & name )
- 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

- 56 public functions inherited from QTextEdit
- 15 public functions inherited from QAbstractScrollArea
- 13 public functions inherited from QFrame
- 201 public functions inherited from QWidget
- 29 public functions inherited from QObject
- 12 public functions inherited from QPaintDevice

### Public Slots

- virtual void backward ()
- virtual void forward ()
- virtual void home ()
- virtual void reload ()
- virtual void setSource ( const QUrl & name )

- 24 public slots inherited from QTextEdit
- 19 public slots inherited from QWidget
- 1 public slot inherited from QObject

### Signals

- void anchorClicked ( const QUrl & link )
- void backwardAvailable ( bool available )
- void forwardAvailable ( bool available )
- void highlighted ( const QUrl & link )
- void highlighted ( const QString & link )
- void sourceChanged ( const QUrl & src )

- 7 signals inherited from QTextEdit
- 1 signal inherited from QWidget
- 1 signal inherited from QObject

### Protected Functions

- virtual void keyPressEvent ( QKeyEvent * ev )

- 4 protected functions inherited from QTextEdit
- 16 protected functions inherited from QAbstractScrollArea
- 38 protected functions inherited from QWidget
- 7 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice

### Additional Inherited Members

- 4 static public members inherited from QWidget
- 5 static public members inherited from QObject
- 1 protected slot inherited from QAbstractScrollArea
- 1 protected slot inherited from QWidget

## 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().

See also QTextEdit and QTextDocument.

## Property Documentation

### modified : const bool

This property holds whether the contents of the text browser have been modified.

### openExternalLinks : bool

Specifies whether QTextBrowser should automatically open links to external sources using QDesktopServices::openUrl() instead of emitting the anchorClicked signal. Links are considered external if their scheme is neither file or qrc.

The default value is false.

This property was introduced in Qt 4.2.

Access functions:

- bool openExternalLinks () const
- void setOpenExternalLinks ( bool open )

### openLinks : bool

This property specifies whether QTextBrowser should automatically open links the user tries to activate by mouse or keyboard.

Regardless of the value of this property the anchorClicked signal is always emitted.

The default value is true.

This property was introduced in Qt 4.3.

Access functions:

- bool openLinks () const
- void setOpenLinks ( bool open )

### readOnly : const bool

This property holds whether the text browser is read-only.

### searchPaths : QStringList

This property holds the search paths used by the text browser to find supporting content.

QTextBrowser uses this list to locate images and documents.

Access functions:

- QStringList searchPaths () const
- void setSearchPaths ( const QStringList & paths )

### source : QUrl

This property holds the name of the displayed document.

This is a an invalid url if no document is displayed or if the source is unknown.

When setting this property QTextBrowser tries to find a document with the specified name in the paths of the searchPaths property and directory of the current source, unless the value is an absolute file path. It also checks for optional anchors and scrolls the document accordingly

If the first tag in the document is `<qt type=detail>`, the document is displayed as a popup rather than as new document in the browser window itself. Otherwise, the document is displayed normally in the text browser with the text set to the contents of the named document with setHtml().

Access functions:

- QUrl source () const
- virtual void setSource ( const QUrl & name )

### undoRedoEnabled : const bool

This property holds whether the text browser supports undo/redo operations.

## Member Function Documentation

### QTextBrowser::QTextBrowser ( QWidget * parent = 0 )

Constructs an empty QTextBrowser with parent parent.

### void QTextBrowser::anchorClicked ( const QUrl & link ) `[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 QTextBrowser::backward () `[virtual slot]`

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().

### void QTextBrowser::backwardAvailable ( bool available ) `[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 QTextBrowser::clearHistory ()

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().

### void QTextBrowser::forward () `[virtual slot]`

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().

### void QTextBrowser::forwardAvailable ( bool available ) `[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 QTextBrowser::highlighted ( const QUrl & link ) `[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 QTextBrowser::highlighted ( const QString & link ) `[signal]`

This is an overloaded member function, provided for convenience.

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

### void QTextBrowser::home () `[virtual slot]`

Changes the document displayed to be the first document the browser displayed.

### bool QTextBrowser::isBackwardAvailable () const

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 () const

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().

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

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()

Reimplemented from QWidget.

### QVariant QTextBrowser::loadResource ( int type, const QUrl & name ) `[virtual]`

This function is called when the document is loaded. The type indicates the type of resource to be loaded. For each image in the document, this function is called once.

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

Reimplemented from QTextEdit.

### void QTextBrowser::reload () `[virtual slot]`

Reloads the current set source.

### void QTextBrowser::sourceChanged ( const QUrl & src ) `[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.