QTextDocumentFragment 类

QTextDocumentFragment 类表示 QTextDocument 中的一个格式化文本片段。

头文件 #include <QTextDocumentFragment>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui

注意: 此类中所有函数都是 可重入的

公共函数

QTextDocumentFragment()
QTextDocumentFragment(const QTextDocument *document)
QTextDocumentFragment(const QTextCursor &cursor)
QTextDocumentFragment(const QTextDocumentFragment &other)
~QTextDocumentFragment()
boolisEmpty() const
QStringtoHtml() const
(since 6.4) QStringtoMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
QStringtoPlainText() const
(since 6.4) QStringtoRawText() const
QTextDocumentFragment &operator=(const QTextDocumentFragment &other)

静态公共成员

QTextDocumentFragmentfromHtml(const QString &text, const QTextDocument *resourceProvider = nullptr)
(since 6.4) QTextDocumentFragmentfromMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub)
QTextDocumentFragmentfromPlainText(const QString &plainText)

详细描述

QTextDocumentFragment 是一个富文本片段,可以插入到 QTextDocument 中。可以从 QTextDocument、从 QTextCursor 的选择,或从另一个文档片段创建文档片段。也可以使用静态函数 fromPlainText() 和 fromHtml() 创建文档片段。

可以通过使用 toRawText() 函数以原始文本、使用 toPlainText() 作为 ASCII、使用 toHtml() 作为 HTML、使用 toMarkdown() 作为 Markdown 获取文档片段的内容。

成员函数文档

QTextDocumentFragment::QTextDocumentFragment()

构建一个空的 QTextDocumentFragment。

另请参阅 isEmpty

[explicit] QTextDocumentFragment::QTextDocumentFragment(const QTextDocument *document)

将给定的 document 转换为 QTextDocumentFragment。注意,QTextDocumentFragment 只存储文档内容,而不是像文档标题这样的元信息。

[explicit] QTextDocumentFragment::QTextDocumentFragment(const QTextCursor &cursor)

cursor 的选择创建 QTextDocumentFragment。如果光标没有选择,则创建的片段为空。

另请参阅 isEmpty() 和 QTextCursor::selection()。

QTextDocumentFragment::QTextDocumentFragment(const QTextDocumentFragment &other)

复制构造函数。创建了对 other 片段的副本。

[noexcept] QTextDocumentFragment::~QTextDocumentFragment()

销毁文档片段。

[static] QTextDocumentFragment QTextDocumentFragment::fromHtml(const QString &text, const QTextDocument *resourceProvider = nullptr)

基于给定的 text 中的任意 HTML 片段返回 QTextDocumentFragment。格式尽可能保留;例如,"<b>粗体</b>" 将成为一个包含具有粗体字符格式的文本 "粗体" 的文档片段。

如果提供的 HTML 包含对外部资源的引用,如导入的样式表,则将通过 resourceProvider 加载。

[static, since 6.4] QTextDocumentFragment QTextDocumentFragment::fromMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub)

基于给定的 markdown 文本以及指定的 features 返回 QTextDocumentFragment。默认为 GitHub 语法。

尽可能保留格式;例如,**粗体** 将成为一个包含具有粗体字符样式的文本 "粗体" 的文档片段。

注意: 不支持加载外部资源。

此函数在 Qt 6.4 中引入。

[static] QTextDocumentFragment QTextDocumentFragment::fromPlainText(const QString &plainText)

返回包含给定 plainText 的文档片段。

当将此类片段插入到 QTextDocument 中时,用于插入的 QTextCursor 的当前字符格式用作文本的格式。

bool QTextDocumentFragment::isEmpty() const

如果片段为空,则返回 true;否则返回 false

QString QTextDocumentFragment::toHtml() const

返回文档片段的内容作为HTML。

另请参阅toPlainText()、toMarkdown()和QTextDocument::toHtml()。

[自6.4以来] QString QTextDocumentFragment::toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const

返回文档片段的内容作为Markdown,具有指定的features。默认为GitHub方言。

此函数在 Qt 6.4 中引入。

另请参阅toPlainText()和QTextDocument::toMarkdown()。

QString QTextDocumentFragment::toPlainText() const

此函数返回的内容与toRawText相同,但会将一些Unicode字符替换为ASCII替代字符。特别是,不间断空格(U+00A0)被普通空格(U+0020)替换,段落分隔符(U+2029)和行分隔符(U+2028)都被替换为换行符(U+000A)。如果您需要文档的确切内容,请使用toRawText代替。

另请参阅toHtmltoMarkdowntoRawText

[自6.4以来] QString QTextDocumentFragment::toRawText() const

返回文档片段的文本作为纯文本(即没有格式信息)。

此函数在 Qt 6.4 中引入。

另请参阅toHtmltoMarkdowntoPlainText

QTextDocumentFragment &QTextDocumentFragment::operator=(const QTextDocumentFragment &other)

other片段赋值给此片段。

© 2024 The Qt Company Ltd. 本文档贡献的版权归其所有者所有。本提供的文档按照自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行许可。Qt及其相应标志是芬兰以及/或全球其他国家的The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。