- Qt 6.9
- Qt GUI
- C++ Classes
- QTextDocumentFragment
- Qt 6.9.2 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
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)
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]` 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().

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