- Qt 6.9
- Qt GUI
- C++ Classes
- QTextOption
- Qt 6.9.2 Reference Documentation

# QTextOption Class

The QTextOption class provides a description of general rich text properties. More...

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

- List of all members, including inherited members
- QTextOption is part of Rich Text Processing APIs.

Note: All functions in this class are reentrant.

## Public Types

struct | Tab
enum | Flag { IncludeTrailingSpaces, ShowTabsAndSpaces, ShowLineAndParagraphSeparators, ShowDocumentTerminator, ShowDefaultIgnorables, …, DisableEmojiParsing }
flags | Flags
enum | TabType { LeftTab, RightTab, CenterTab, DelimiterTab }
enum | WrapMode { NoWrap, WordWrap, ManualWrap, WrapAnywhere, WrapAtWordBoundaryOrAnywhere }

## Public Functions

| QTextOption()
| QTextOption(Qt::Alignment alignment)
| QTextOption(const QTextOption &other)
| ~QTextOption()
Qt::Alignment | alignment() const
QTextOption::Flags | flags() const
void | setAlignment(Qt::Alignment alignment)
void | setFlags(QTextOption::Flags flags)
void | setTabArray(const QList<qreal> &tabStops)
void | setTabStopDistance(qreal tabStopDistance)
void | setTabs(const QList<QTextOption::Tab> &tabStops)
void | setTextDirection(Qt::LayoutDirection direction)
void | setUseDesignMetrics(bool enable)
void | setWrapMode(QTextOption::WrapMode mode)
QList<qreal> | tabArray() const
qreal | tabStopDistance() const
QList<QTextOption::Tab> | tabs() const
Qt::LayoutDirection | textDirection() const
bool | useDesignMetrics() const
QTextOption::WrapMode | wrapMode() const
QTextOption & | operator=(const QTextOption &other)

## Detailed Description

QTextOption is used to encapsulate common rich text properties in a single object. It contains information about text alignment, layout direction, word wrapping, and other standard properties associated with text rendering and layout.

See also QTextEdit, QTextDocument, and QTextCursor.

## Member Type Documentation

### enum QTextOption::Flag
flags QTextOption::Flags

Constant | Value | Description
--- | --- | ---
`QTextOption::IncludeTrailingSpaces` | `0x80000000` | When this option is set, QTextLine::naturalTextWidth() and naturalTextRect() will return a value that includes the width of trailing spaces in the text; otherwise this width is excluded.
`QTextOption::ShowTabsAndSpaces` | `0x1` | Visualize spaces with little dots, and tabs with little arrows. Non-breaking spaces are shown differently to breaking spaces.
`QTextOption::ShowLineAndParagraphSeparators` | `0x2` | Visualize line and paragraph separators with appropriate symbol characters.
`QTextOption::ShowDocumentTerminator (since Qt 5.7)` | `0x10` | Visualize the end of the document with a section sign.
`QTextOption::ShowDefaultIgnorables (since Qt 6.9)` | `0x20` | Render normally non-visual characters if supported by font.
`QTextOption::AddSpaceForLineAndParagraphSeparators` | `0x4` | While determining the line-break positions take into account the space added for drawing a separator character.
`QTextOption::SuppressColors` | `0x8` | Suppress all color changes in the character formats (except the main selection).
`QTextOption::DisableEmojiParsing (since Qt 6.9)` | `0x40` | By default, Qt will detect emoji sequences in input strings and prioritize using color fonts to display them. This extra step can be disabled by setting the DisableEmojiParsing flag if it is known in advance that it will not be needed.

The Flags type is a typedef for QFlags<Flag>. It stores an OR combination of Flag values.

### enum QTextOption::TabType

This enum holds the different types of tabulator

Constant | Value | Description
--- | --- | ---
`QTextOption::LeftTab` | `0` | A left-tab
`QTextOption::RightTab` | `1` | A right-tab
`QTextOption::CenterTab` | `2` | A centered-tab
`QTextOption::DelimiterTab` | `3` | A tab stopping at a certain delimiter-character

### enum QTextOption::WrapMode

This enum describes how text is wrapped in a document.

Constant | Value | Description
--- | --- | ---
`QTextOption::NoWrap` | `0` | Text is not wrapped at all.
`QTextOption::WordWrap` | `1` | Text is wrapped at word boundaries.
`QTextOption::ManualWrap` | `2` | Same as QTextOption::NoWrap
`QTextOption::WrapAnywhere` | `3` | Text can be wrapped at any point on a line, even if it occurs in the middle of a word.
`QTextOption::WrapAtWordBoundaryOrAnywhere` | `4` | If possible, wrapping occurs at a word boundary; otherwise it will occur at the appropriate point on the line, even in the middle of a word.

## Member Function Documentation

### QTextOption::QTextOption()

Constructs a text option with default properties for text. The text alignment property is set to Qt::AlignLeft. The word wrap property is set to QTextOption::WordWrap. The using of design metrics flag is set to false.

### QTextOption::QTextOption(Qt::Alignment alignment)

Constructs a text option with the given alignment for text. The word wrap property is set to QTextOption::WordWrap. The using of design metrics flag is set to false.

### QTextOption::QTextOption(const QTextOption &other)

Construct a copy of the other text option.

### `[noexcept]` QTextOption::~QTextOption()

Destroys the text option.

### Qt::Alignment QTextOption::alignment() const

Returns the text alignment defined by the option.

See also setAlignment().

### QTextOption::Flags QTextOption::flags() const

Returns the flags associated with the option.

See also setFlags().

### void QTextOption::setAlignment(Qt::Alignment alignment)

Sets the option's text alignment to the specified alignment.

See also alignment().

### void QTextOption::setFlags(QTextOption::Flags flags)

Sets the flags associated with the option to the given flags.

See also flags().

### void QTextOption::setTabArray(const QList<qreal> &tabStops)

Sets the tab positions for the text layout to those specified by tabStops.

See also tabArray(), setTabStopDistance(), and setTabs().

### void QTextOption::setTabStopDistance(qreal tabStopDistance)

Sets the default distance in device units between tab stops to the value specified by tabStopDistance.

See also tabStopDistance(), setTabArray(), setTabs(), and tabs().

### void QTextOption::setTabs(const QList<QTextOption::Tab> &tabStops)

Sets the tab positions for the text layout to those specified by tabStops.

See also tabs() and tabStopDistance().

### void QTextOption::setTextDirection(Qt::LayoutDirection direction)

Sets the direction of the text layout defined by the option to the given direction.

See also textDirection().

### void QTextOption::setUseDesignMetrics(bool enable)

If enable is true then the layout will use design metrics; otherwise it will use the metrics of the paint device (which is the default behavior).

See also useDesignMetrics().

### void QTextOption::setWrapMode(QTextOption::WrapMode mode)

Sets the option's text wrap mode to the given mode.

See also wrapMode().

### QList<qreal> QTextOption::tabArray() const

Returns a list of tab positions defined for the text layout.

See also setTabArray() and tabStopDistance().

### qreal QTextOption::tabStopDistance() const

Returns the distance in device units between tab stops.

See also setTabStopDistance(), tabArray(), setTabs(), and tabs().

### QList<QTextOption::Tab> QTextOption::tabs() const

Returns a list of tab positions defined for the text layout.

See also tabStopDistance(), setTabs(), and setTabStopDistance().

### Qt::LayoutDirection QTextOption::textDirection() const

Returns the direction of the text layout defined by the option.

See also setTextDirection().

### bool QTextOption::useDesignMetrics() const

Returns `true` if the layout uses design rather than device metrics; otherwise returns `false`.

See also setUseDesignMetrics().

### QTextOption::WrapMode QTextOption::wrapMode() const

Returns the text wrap mode defined by the option.

See also setWrapMode().

### QTextOption &QTextOption::operator=(const QTextOption &other)

Returns `true` if the text option is the same as the other text option; otherwise returns `false`.