The QTextBrowser 类提供具有超文本导航的富文本浏览器。 更多...
头: | #include <QTextBrowser> |
qmake: | QT += widgets |
继承: | QTextEdit |
|
|
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 |
virtual QVariant | loadResource (int type , const QUrl & name ) override |
virtual void | backward () |
virtual void | forward () |
virtual void | home () |
virtual void | reload () |
virtual void | setSource (const QUrl & name ) |
void | anchorClicked (const QUrl & link ) |
void | backwardAvailable (bool available ) |
void | forwardAvailable (bool available ) |
void | highlighted (const QUrl & link ) |
void | highlighted (const QString & link ) |
void | historyChanged () |
void | sourceChanged (const QUrl & src ) |
const QMetaObject | staticMetaObject |
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 |
The QTextBrowser 类提供具有超文本导航的富文本浏览器。
此类延伸 QTextEdit (以只读模式),添加一些导航功能,以便用户可以在超文本文档中跟随链接。
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 .
内容对于 QTextEdit are set with setHtml () 或 setPlainText (),但 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.
若文档名称以锚点结尾 (例如 "
#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
() 信号。
QTextBrowser 提供 backward () 和 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
使用
qrc:/docs/index.html
as the URL with
setSource
().
另请参阅 QTextEdit and QTextDocument .
This property holds whether the contents of the text browser have been modified
指定是否 QTextBrowser should automatically open links to external sources using QDesktopServices::openUrl () 而不是发射 anchorClicked signal. Links are considered external if their scheme is neither file or qrc.
默认值为 false。
该特性在 Qt 4.2 引入。
访问函数:
bool | openExternalLinks () const |
void | setOpenExternalLinks (bool open ) |
此特性指定是否 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.
默认值为 true。
该特性在 Qt 4.3 引入。
访问函数:
bool | openLinks () const |
void | setOpenLinks (bool open ) |
This property holds whether the text browser is read-only
默认情况下,此特性为
true
.
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.
访问函数:
QStringList | searchPaths () const |
void | setSearchPaths (const QStringList & paths ) |
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
().
默认情况下,此特性包含空 URL。
访问函数:
QUrl | source () const |
virtual void | setSource (const QUrl & name ) |
This property holds whether the text browser supports undo/redo operations
默认情况下,此特性为
false
.
构造空的 QTextBrowser 采用父级 parent .
[signal]
void
QTextBrowser::
anchorClicked
(const
QUrl
&
link
)
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.
[virtual slot]
void
QTextBrowser::
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.
另请参阅 forward () 和 backwardAvailable ().
[signal]
void
QTextBrowser::
backwardAvailable
(
bool
available
)
This signal is emitted when the availability of backward () changes. available is false when the user is at home (); otherwise it is true.
Returns the number of locations backward in the history.
该函数在 Qt 4.4 引入。
Clears the history of visited documents and disables the forward and backward navigation.
该函数在 Qt 4.2 引入。
另请参阅 backward () 和 forward ().
[override virtual protected]
bool
QTextBrowser::
event
(
QEvent
*
e
)
[override virtual protected]
bool
QTextBrowser::
focusNextPrevChild
(
bool
next
)
重实现自 QTextEdit::focusNextPrevChild ().
[override virtual protected]
void
QTextBrowser::
focusOutEvent
(
QFocusEvent
*
ev
)
重实现自 QTextEdit::focusOutEvent ().
[virtual slot]
void
QTextBrowser::
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.
另请参阅 backward () 和 forwardAvailable ().
[signal]
void
QTextBrowser::
forwardAvailable
(
bool
available
)
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 ().
Returns the number of locations forward in the history.
该函数在 Qt 4.4 引入。
[signal]
void
QTextBrowser::
highlighted
(const
QUrl
&
link
)
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 .
注意: 信号 highlighted 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:
connect(textBrowser, QOverload<const QUrl &>::of(&QTextBrowser::highlighted), [=](const QUrl &link){ /* ... */ });
[signal]
void
QTextBrowser::
highlighted
(const
QString
&
link
)
这是重载函数。
Convenience signal that allows connecting to a slot that takes just a QString , like for example QStatusBar 's message().
注意: 信号 highlighted 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:
connect(textBrowser, QOverload<const QString &>::of(&QTextBrowser::highlighted), [=](const QString &link){ /* ... */ });
[signal]
void
QTextBrowser::
historyChanged
()
This signal is emitted when the history changes.
该函数在 Qt 4.4 引入。
另请参阅 historyTitle () 和 historyUrl ().
返回 documentTitle () of the HistoryItem.
输入 | 返回 |
---|---|
i < 0 | backward () history |
i == 0 | current, see QTextBrowser::source () |
i > 0 | forward () history |
backaction.setToolTip(browser.historyTitle(-1)); forwardaction.setToolTip(browser.historyTitle(+1));
该函数在 Qt 4.4 引入。
Returns the url of the HistoryItem.
输入 | 返回 |
---|---|
i < 0 | backward () history |
i == 0 | current, see QTextBrowser::source () |
i > 0 | forward () history |
该函数在 Qt 4.4 引入。
[virtual slot]
void
QTextBrowser::
home
()
Changes the document displayed to be the first document from the history.
返回
true
if the text browser can go backward in the document history using
backward
().
该函数在 Qt 4.2 引入。
另请参阅 backwardAvailable () 和 backward ().
返回
true
if the text browser can go forward in the document history using
forward
().
该函数在 Qt 4.2 引入。
另请参阅 forwardAvailable () 和 forward ().
[override virtual protected]
void
QTextBrowser::
keyPressEvent
(
QKeyEvent
*
ev
)
重实现自 QTextEdit::keyPressEvent ().
The event ev is used to provide the following keyboard shortcuts:
按键 | 动作 |
---|---|
Alt+Left Arrow | backward () |
Alt+Right Arrow | forward () |
Alt+Up Arrow | home () |
[override virtual]
QVariant
QTextBrowser::
loadResource
(
int
type
, const
QUrl
&
name
)
重实现自 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 |
[override virtual protected]
void
QTextBrowser::
mouseMoveEvent
(
QMouseEvent
*
e
)
重实现自 QTextEdit::mouseMoveEvent ().
[override virtual protected]
void
QTextBrowser::
mousePressEvent
(
QMouseEvent
*
e
)
重实现自 QTextEdit::mousePressEvent ().
[override virtual protected]
void
QTextBrowser::
mouseReleaseEvent
(
QMouseEvent
*
e
)
重实现自 QTextEdit::mouseReleaseEvent ().
[override virtual protected]
void
QTextBrowser::
paintEvent
(
QPaintEvent
*
e
)
重实现自 QTextEdit::paintEvent ().
[virtual slot]
void
QTextBrowser::
reload
()
Reloads the current set source.
[signal]
void
QTextBrowser::
sourceChanged
(const
QUrl
&
src
)
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.