- Qt 6.9
- Qt GUI
- C++ Classes
- QTextDocumentFragment
- Qt 6.9.3 Reference Documentation

# 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`

- List of all members, including inherited members
- QTextDocumentFragment is part of Rich Text Processing APIs and Implicitly Shared Classes.

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.