文档来源和内容
QTextEdit
的内容通过 setHtml()
或 setPlainText()
设置,但 QTextBrowser
还实现了 setSource()
函数,使得可以使用命名文档作为源文本。该名称在搜索路径列表和当前文档工厂的目录中查找。
如果文档名称以锚点结尾(例如,“#anchor"
”),文本浏览器会自动滚动到该位置(使用scrollToAnchor()
)。当用户点击超链接时,浏览器将使用链接的href
值作为参数调用setSource()
。您可以通过连接到sourceChanged()
信号来跟踪当前源。
导航
QTextBrowser
提供了 backward()
和 forward()
槽,您可以使用它们来实现后退和前进按钮。home()
槽将文本设置为显示的第一个文档。当用户点击锚点时,会发出 anchorClicked()
信号。要覆盖浏览器的默认导航行为,请调用 setSource()
函数,在连接到该信号的槽中提供新的文档文本。
如果你想加载存储在Qt资源系统中的文档,请使用qrc
作为URL中的方案来加载。例如,对于文档资源路径:/docs/index.html
,使用qrc:/docs/index.html
作为URL,并通过setSource()
进行设置。
注意
当使用from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。
-
property openExternalLinksᅟ: bool
指定QTextBrowser
是否应自动使用QDesktopServices::openUrl()打开外部资源的链接,而不是发出anchorClicked
信号。如果链接的方案既不是文件也不是qrc,则被视为外部链接。
默认值为 false。
- Access functions:
-
-
property openLinksᅟ: bool
此属性指定QTextBrowser
是否应自动打开用户尝试通过鼠标或键盘激活的链接。
无论此属性的值如何,anchorClicked
信号始终会被发出。
默认值为true。
- Access functions:
-
-
property searchPathsᅟ: list of strings
此属性保存文本浏览器用于查找支持内容的搜索路径。
QTextBrowser
使用此列表来定位图像和文档。
默认情况下,此属性包含一个空字符串列表。
- Access functions:
-
-
property sourceᅟ: QUrl
此属性保存显示文档的名称。
如果没有显示文档或来源未知,则这是一个无效的URL。
当设置此属性时,QTextBrowser
会尝试在 searchPaths
属性的路径和当前源文件的目录中查找指定名称的文档,除非该值是绝对文件路径。它还会检查可选的锚点并相应地滚动文档。
如果文档中的第一个标签是 type=detail>
,则文档将显示为弹出窗口,而不是浏览器窗口中的新文档。否则,文档将正常显示在文本浏览器中,文本设置为使用QTextDocument::setHtml()或QTextDocument::setMarkdown()命名的文档内容,具体取决于文件名是否以已知的Markdown文件扩展名结尾。
如果您希望避免自动类型检测并明确指定类型,请调用setSource()
而不是设置此属性。
默认情况下,此属性包含一个空的URL。
- Access functions:
-
-
property sourceTypeᅟ: QTextDocument.ResourceType
此属性保存显示文档的类型。
如果没有显示文档或源类型未知,则为QTextDocument::UnknownResource。否则,它保存检测到的类型,或调用setSource()
时指定的类型。
- Access functions:
-
-
__init__([parent=None])
- Parameters:
父级 – QWidget
构造一个带有父级 parent
的空 QTextBrowser
。
-
anchorClicked(link)
- Parameters:
链接 – QUrl
当用户点击锚点时,会发出此信号。锚点所引用的URL在link
中传递。
请注意,浏览器将自动处理导航到由link
指定的位置,除非openLinks
属性设置为false,或者你在连接的插槽中调用setSource()
。此机制用于覆盖浏览器的默认导航功能。
-
backward()
将显示的文档更改为通过导航链接构建的文档列表中的前一个文档。如果没有前一个文档,则不执行任何操作。
-
backwardAvailable(available)
- Parameters:
可用 – bool
当backward()
的可用性发生变化时,会发出此信号。当用户位于home()
时,available
为false;否则为true。
-
backwardHistoryCount()
- Return type:
整数
返回历史记录中向后的位置数量。
-
clearHistory()
清除访问文档的历史记录并禁用前进和后退导航。
-
doSetSource(name[, type=QTextDocument.UnknownResource])
- Parameters:
-
尝试使用指定的type
加载给定url
处的文档。
setSource()
调用 doSetSource。在 Qt 5 中,setSource
(const QUrl &url) 是虚函数。在 Qt 6 中,doSetSource() 是虚函数,以便在子类中可以重写它。
-
forward()
将显示的文档更改为通过导航链接构建的文档列表中的下一个文档。如果没有下一个文档,则不执行任何操作。
-
forwardAvailable(available)
- Parameters:
可用 – bool
当forward()
的可用性发生变化时,会发出此信号。available
在用户导航backward()
后为真,当用户导航或前进forward()
时为假。
-
forwardHistoryCount()
- Return type:
整数
返回历史记录中向前的位置数量。
-
highlighted(link)
- Parameters:
链接 – QUrl
当用户选择但未激活文档中的锚点时,会发出此信号。锚点引用的URL在link
中传递。
-
historyChanged()
当历史记录发生变化时,会发出此信号。
-
historyTitle(i)
- Parameters:
i – 整数
- Return type:
字符串
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回HistoryItem的documentTitle()
。
backaction.setToolTip(browser.historyTitle(-1))
forwardaction.setToolTip(browser.historyTitle(+1))
-
historyUrl(i)
- Parameters:
i – 整数
- Return type:
QUrl
返回HistoryItem的URL。
-
home()
将显示的文档更改为历史记录中的第一个文档。
-
isBackwardAvailable()
- Return type:
布尔
如果文本浏览器可以使用backward()
在文档历史中后退,则返回true
。
-
isForwardAvailable()
- Return type:
布尔
如果文本浏览器可以使用forward()
在文档历史中前进,则返回true
。
-
openExternalLinks()
- Return type:
布尔
属性 openExternalLinksᅟ
的获取器。
-
openLinks()
- Return type:
布尔
属性 openLinksᅟ
的获取器。
-
reload()
重新加载当前的设置源。
-
searchPaths()
- Return type:
字符串列表
属性 searchPathsᅟ
的获取器。
-
setOpenExternalLinks(open)
- Parameters:
open – 布尔值
属性 openExternalLinksᅟ
的设置器。
-
setOpenLinks(open)
- Parameters:
open – 布尔值
属性 openLinksᅟ
的设置器。
-
setSearchPaths(paths)
- Parameters:
paths – 字符串列表
属性 searchPathsᅟ
的设置器。
-
setSource(name[, type=QTextDocument.UnknownResource])
- Parameters:
-
尝试使用指定的type
加载给定url
处的文档。
如果 type
是 UnknownResource(默认值),将检测文档类型:也就是说,如果 URL 以 .md
、.mkd
或 .markdown
结尾,文档将通过 QTextDocument::setMarkdown() 加载;否则将通过 QTextDocument::setHtml() 加载。可以通过明确指定 type
来绕过此检测。
-
source()
- Return type:
QUrl
属性 sourceᅟ
的获取器。
-
sourceChanged(src)
- Parameters:
src – QUrl
当源发生变化时发出此信号,src
是新的源。
源更改在调用setSource()
、forward()
、backward()
或home()
时以编程方式发生,或者当用户点击链接或按下等效的键序列时发生。
-
sourceType()
- Return type:
ResourceType
属性 sourceTypeᅟ
的获取器。