QTextDocumentFragment Class

The QTextDocumentFragment class represents a piece of formatted text from a QTextDocument. More...

Header: #include <QTextDocumentFragment>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Note: All functions in this class are reentrant.

Public Functions

QTextDocumentFragment()
QTextDocumentFragment(const QTextCursor &cursor)
QTextDocumentFragment(const QTextDocument *document)
QTextDocumentFragment(const QTextDocumentFragment &other)
~QTextDocumentFragment()
bool isEmpty() const
QString toHtml() const
(since 6.4) QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
QString toPlainText() const
(since 6.4) QString toRawText() const
QTextDocumentFragment &operator=(const QTextDocumentFragment &other)

Static Public Members

QTextDocumentFragment fromHtml(const QString &text, const QTextDocument *resourceProvider = nullptr)
(since 6.4) QTextDocumentFragment fromMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub)
QTextDocumentFragment fromPlainText(const QString &plainText)

Detailed Description

A QTextDocumentFragment is a fragment of rich text, that can be inserted into a QTextDocument. A document fragment can be created from a QTextDocument, from a QTextCursor's selection, or from another document fragment. Document fragments can also be created by the static functions, fromPlainText() and fromHtml().

The contents of a document fragment can be obtained as raw text by using the toRawText() function, as ASCII with toPlainText(), as HTML with toHtml(), or as Markdown with toMarkdown().

Member Function Documentation

QTextDocumentFragment::QTextDocumentFragment()

Constructs an empty QTextDocumentFragment.

See also isEmpty().

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

Creates a QTextDocumentFragment from the cursor's selection. If the cursor doesn't have a selection, the created fragment is empty.

See also isEmpty() and QTextCursor::selection().

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

Converts the given document into a QTextDocumentFragment. Note that the QTextDocumentFragment only stores the document contents, not meta information like the document's title.

QTextDocumentFragment::QTextDocumentFragment(const QTextDocumentFragment &other)

Copy constructor. Creates a copy of the other fragment.

[noexcept] QTextDocumentFragment::~QTextDocumentFragment()

Destroys the document fragment.

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

Returns a QTextDocumentFragment based on the arbitrary piece of HTML in the given text. The formatting is preserved as much as possible; for example, "<b>bold</b>" will become a document fragment with the text "bold" with a bold character format.

If the provided HTML contains references to external resources such as imported style sheets, then they will be loaded through the resourceProvider.

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

Returns a QTextDocumentFragment based on the given markdown text with the specified features. The default is GitHub dialect.

The formatting is preserved as much as possible; for example, **bold** will become a document fragment containing the text "bold" with a bold character style.

Note: Loading external resources is not supported.

This function was introduced in Qt 6.4.

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

Returns a document fragment that contains the given plainText.

When inserting such a fragment into a QTextDocument the current char format of the QTextCursor used for insertion is used as format for the text.

bool QTextDocumentFragment::isEmpty() const

Returns true if the fragment is empty; otherwise returns false.

QString QTextDocumentFragment::toHtml() const

Returns the contents of the document fragment as HTML.

See also toPlainText(), toMarkdown(), and QTextDocument::toHtml().

[since 6.4] QString QTextDocumentFragment::toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const

Returns the contents of the document fragment as Markdown, with the specified features. The default is GitHub dialect.

This function was introduced in Qt 6.4.

See also toPlainText() and QTextDocument::toMarkdown().

QString QTextDocumentFragment::toPlainText() const

This function returns the same as toRawText(), but will replace some unicode characters with ASCII alternatives. In particular, no-break space (U+00A0) is replaced by a regular space (U+0020), and both paragraph (U+2029) and line (U+2028) separators are replaced by line feed (U+000A). If you need the precise contents of the document, use toRawText() instead.

See also toHtml(), toMarkdown(), and toRawText().

[since 6.4] QString QTextDocumentFragment::toRawText() const

Returns the document fragment's text as raw text (i.e. with no formatting information).

This function was introduced in Qt 6.4.

See also toHtml(), toMarkdown(), and toPlainText().

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

Assigns the other fragment to this fragment.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.