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()
.
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
-
property 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.
- Access functions:
-
-
property 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.
- Access functions:
-
-
property searchPathsᅟ: list of strings
This property holds the search paths used by the text browser to find supporting content.
QTextBrowser
uses this list to locate images and documents.
By default, this property contains an empty string list.
- Access functions:
-
-
property 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 QTextDocument::setHtml() or QTextDocument::setMarkdown(), depending on whether the filename ends with any of the known Markdown file extensions.
If you would like to avoid automatic type detection and specify the type explicitly, call setSource()
rather than setting this property.
By default, this property contains an empty URL.
- Access functions:
-
-
property sourceTypeᅟ: QTextDocument.ResourceType
This property holds the type of the displayed document.
This is QTextDocument::UnknownResource if no document is displayed or if the type of the source is unknown. Otherwise it holds the type that was detected, or the type that was specified when setSource()
was called.
- Access functions:
-
-
__init__([parent=None])
- Parameters:
parent – QWidget
Constructs an empty QTextBrowser
with parent parent
.
-
anchorClicked(link)
- Parameters:
link – QUrl
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.
-
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.
-
backwardAvailable(available)
- Parameters:
available – bool
This signal is emitted when the availability of backward()
changes. available
is false when the user is at home()
; otherwise it is true.
-
backwardHistoryCount()
- Return type:
int
Returns the number of locations backward in the history.
-
clearHistory()
Clears the history of visited documents and disables the forward and backward navigation.
-
doSetSource(name[, type=QTextDocument.UnknownResource])
- Parameters:
-
Attempts to load the document at the given url
with the specified type
.
setSource()
calls doSetSource. In Qt 5, setSource
(const QUrl &url) was virtual. In Qt 6, doSetSource() is virtual instead, so that it can be overridden in subclasses.
-
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.
-
forwardAvailable(available)
- Parameters:
available – bool
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()
.
-
forwardHistoryCount()
- Return type:
int
Returns the number of locations forward in the history.
-
highlighted(link)
- Parameters:
link – QUrl
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
.
-
historyChanged()
This signal is emitted when the history changes.
-
historyTitle(i)
- Parameters:
i – int
- Return type:
str
Warning
This section contains snippets that were automatically
translated from C++ to Python and may contain errors.
Returns the documentTitle()
of the HistoryItem.
backaction.setToolTip(browser.historyTitle(-1))
forwardaction.setToolTip(browser.historyTitle(+1))
-
historyUrl(i)
- Parameters:
i – int
- Return type:
QUrl
Returns the url of the HistoryItem.
-
home()
Changes the document displayed to be the first document from the history.
-
isBackwardAvailable()
- Return type:
bool
Returns true
if the text browser can go backward in the document history using backward()
.
-
isForwardAvailable()
- Return type:
bool
Returns true
if the text browser can go forward in the document history using forward()
.
-
openExternalLinks()
- Return type:
bool
Getter of property openExternalLinksᅟ
.
-
openLinks()
- Return type:
bool
Getter of property openLinksᅟ
.
-
reload()
Reloads the current set source.
-
searchPaths()
- Return type:
list of strings
Getter of property searchPathsᅟ
.
-
setOpenExternalLinks(open)
- Parameters:
open – bool
Setter of property openExternalLinksᅟ
.
-
setOpenLinks(open)
- Parameters:
open – bool
Setter of property openLinksᅟ
.
-
setSearchPaths(paths)
- Parameters:
paths – list of strings
Setter of property searchPathsᅟ
.
-
setSource(name[, type=QTextDocument.UnknownResource])
- Parameters:
-
Attempts to load the document at the given url
with the specified type
.
If type
is UnknownResource (the default), the document type will be detected: that is, if the url ends with an extension of .md
, .mkd
or .markdown
, the document will be loaded via QTextDocument::setMarkdown(); otherwise it will be loaded via QTextDocument::setHtml(). This detection can be bypassed by specifying the type
explicitly.
-
source()
- Return type:
QUrl
Getter of property sourceᅟ
.
-
sourceChanged(src)
- Parameters:
src – QUrl
This signal is emitted when the source has changed, src
being the new source.
Source changes happen both programmatically when calling setSource()
, forward()
, backward()
or home()
or when the user clicks on links or presses the equivalent key sequences.
-
sourceType()
- Return type:
ResourceType
Getter of property sourceTypeᅟ
.