QTextCharFormat Class▲
-
Header: QTextCharFormat
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
-
qmake: QT += gui
-
Inherits: QTextFormat
-
Inherited By: QTextImageFormat and QTextTableCellFormat
-
Group: QTextCharFormat is part of Rich Text Processing APIs, shared
Detailed Description▲
The character format of text in a document specifies the visual properties of the text, as well as information about its role in a hypertext document.
The font used can be set by supplying a font to the setFont() function, and each aspect of its appearance can be adjusted to give the desired effect. setFontFamilies() and setFontPointSize() define the font's family (e.g. Times) and printed size; setFontWeight() and setFontItalic() provide control over the style of the font. setFontUnderline(), setFontOverline(), setFontStrikeOut(), and setFontFixedPitch() provide additional effects for text.
The color is set with setForeground(). If the text is intended to be used as an anchor (for hyperlinks), this can be enabled with setAnchor(). The setAnchorHref() and setAnchorNames() functions are used to specify the information about the hyperlink's destination and the anchor's name.
See Also▲
See also QTextFormat, QTextBlockFormat, QTextTableFormat, QTextListFormat
Member Type Documentation▲
[since 5.3] enum QTextCharFormat::FontPropertiesInheritanceBehavior▲
This enum specifies how the setFont() function should behave with respect to unset font properties.
Constant |
Value |
Description |
---|---|---|
QTextCharFormat::FontPropertiesSpecifiedOnly |
0 |
If a property is not explicitly set, do not change the text format's property value. |
QTextCharFormat::FontPropertiesAll |
1 |
If a property is not explicitly set, override the text format's property with a default value. |
This enum was introduced or modified in Qt 5.3.
See Also▲
See also setFont()
enum QTextCharFormat::UnderlineStyle▲
This enum describes the different ways drawing underlined text.
Constant |
Value |
Description |
---|---|---|
QTextCharFormat::NoUnderline |
0 |
Text is draw without any underlining decoration. |
QTextCharFormat::SingleUnderline |
1 |
A line is drawn using Qt::SolidLine. |
QTextCharFormat::DashUnderline |
2 |
Dashes are drawn using Qt::DashLine. |
QTextCharFormat::DotLine |
3 |
Dots are drawn using Qt::DotLine; |
QTextCharFormat::DashDotLine |
4 |
Dashes and dots are drawn using Qt::DashDotLine. |
QTextCharFormat::DashDotDotLine |
5 |
Underlines draw drawn using Qt::DashDotDotLine. |
QTextCharFormat::WaveUnderline |
6 |
The text is underlined using a wave shaped line. |
QTextCharFormat::SpellCheckUnderline |
7 |
The underline is drawn depending on the SpellCheckUnderlineStyle theme hint of QPlatformTheme. By default this is mapped to WaveUnderline, on macOS it is mapped to DotLine. |
See Also▲
See also Qt::PenStyle
enum QTextCharFormat::VerticalAlignment▲
This enum describes the ways that adjacent characters can be vertically aligned.
Constant |
Value |
Description |
---|---|---|
QTextCharFormat::AlignNormal |
0 |
Adjacent characters are positioned in the standard way for text in the writing system in use. |
QTextCharFormat::AlignSuperScript |
1 |
Characters are placed above the base line for normal text. |
QTextCharFormat::AlignSubScript |
2 |
Characters are placed below the base line for normal text. |
QTextCharFormat::AlignMiddle |
3 |
The center of the object is vertically aligned with the base line. Currently, this is only implemented for inline objects. |
QTextCharFormat::AlignBottom |
5 |
The bottom edge of the object is vertically aligned with the base line. |
QTextCharFormat::AlignTop |
4 |
The top edge of the object is vertically aligned with the base line. |
QTextCharFormat::AlignBaseline |
6 |
The base lines of the characters are aligned. |
Member Function Documentation▲
QTextCharFormat::QTextCharFormat()▲
Constructs a new character format object.
QString QTextCharFormat::anchorHref() const▲
Returns the text format's hypertext link, or an empty string if none has been set.
See Also▲
See also setAnchorHref()
QStringList QTextCharFormat::anchorNames() const▲
Returns the anchor names associated with this text format, or an empty string list if none has been set. If the anchor names are set, text with this format can be the destination of a hypertext link.
See Also▲
See also setAnchorNames()
[since 6.0] qreal QTextCharFormat::baselineOffset() const▲
Returns the the baseline offset in %.
This function was introduced in Qt 6.0.
See Also▲
See also setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline()
QFont QTextCharFormat::font() const▲
QFont::Capitalization QTextCharFormat::fontCapitalization() const▲
[since 5.13] QVariant QTextCharFormat::fontFamilies() const▲
Returns the text format's font families.
This function returns a QVariant for historical reasons. It will be corrected to return QStringList in Qt 7. The variant contains a QStringList object, which can be extracted by calling toStringList() on it.
This function was introduced in Qt 5.13.
See Also▲
See also setFontFamilies(), font()
bool QTextCharFormat::fontFixedPitch() const▲
Returns true if the text format's font is fixed pitch; otherwise returns false.
See Also▲
See also setFontFixedPitch(), font()
QFont::HintingPreference QTextCharFormat::fontHintingPreference() const▲
Returns the hinting preference set for this text format.
See Also▲
See also setFontHintingPreference(), font(), QFont::hintingPreference()
bool QTextCharFormat::fontItalic() const▲
Returns true if the text format's font is italic; otherwise returns false.
See Also▲
See also setFontItalic(), font()
bool QTextCharFormat::fontKerning() const▲
qreal QTextCharFormat::fontLetterSpacing() const▲
Returns the current letter spacing.
See Also▲
See also setFontLetterSpacing(), setFontLetterSpacingType(), fontLetterSpacingType()
[since 5.0] QFont::SpacingType QTextCharFormat::fontLetterSpacingType() const▲
Returns the letter spacing type of this format..
This function was introduced in Qt 5.0.
See Also▲
See also setFontLetterSpacingType(), setFontLetterSpacing(), fontLetterSpacing()
bool QTextCharFormat::fontOverline() const▲
Returns true if the text format's font is overlined; otherwise returns false.
See Also▲
See also setFontOverline(), font()
qreal QTextCharFormat::fontPointSize() const▲
Returns the font size used to display text in this format.
See Also▲
See also setFontPointSize(), font()
[since 5.0] int QTextCharFormat::fontStretch() const▲
Returns the current font stretching.
This function was introduced in Qt 5.0.
See Also▲
See also setFontStretch()
bool QTextCharFormat::fontStrikeOut() const▲
Returns true if the text format's font is struck out (has a horizontal line drawn through it); otherwise returns false.
See Also▲
See also setFontStrikeOut(), font()
QFont::StyleHint QTextCharFormat::fontStyleHint() const▲
[since 5.13] QVariant QTextCharFormat::fontStyleName() const▲
Returns the text format's font style name.
This function returns a QVariant for historical reasons. It will be corrected to return QStringList in Qt 7. The variant contains a QStringList object, which can be extracted by calling toStringList() on it.
This function was introduced in Qt 5.13.
See Also▲
See also setFontStyleName(), font(), QFont::styleName()
QFont::StyleStrategy QTextCharFormat::fontStyleStrategy() const▲
bool QTextCharFormat::fontUnderline() const▲
Returns true if the text format's font is underlined; otherwise returns false.
See Also▲
See also setFontUnderline(), font()
int QTextCharFormat::fontWeight() const▲
qreal QTextCharFormat::fontWordSpacing() const▲
bool QTextCharFormat::isAnchor() const▲
Returns true if the text is formatted as an anchor; otherwise returns false.
See Also▲
See also setAnchor(), setAnchorHref(), setAnchorNames()
bool QTextCharFormat::isValid() const▲
Returns true if this character format is valid; otherwise returns false.
void QTextCharFormat::setAnchor(bool anchor)▲
If anchor is true, text with this format represents an anchor, and is formatted in the appropriate way; otherwise the text is formatted normally. (Anchors are hyperlinks which are often shown underlined and in a different color from plain text.)
The way the text is rendered is independent of whether or not the format has a valid anchor defined. Use setAnchorHref(), and optionally setAnchorNames() to create a hypertext link.
See Also▲
See also isAnchor()
void QTextCharFormat::setAnchorHref(const QString &value)▲
Sets the hypertext link for the text format to the given value. This is typically a URL like "http://example.com/index.html".
The anchor will be displayed with the value as its display text; if you want to display different text call setAnchorNames().
To format the text as a hypertext link use setAnchor().
See Also▲
See also anchorHref()
void QTextCharFormat::setAnchorNames(const QStringList &names)▲
Sets the text format's anchor names. For the anchor to work as a hyperlink, the destination must be set with setAnchorHref() and the anchor must be enabled with setAnchor().
See Also▲
See also anchorNames()
[since 6.0] void QTextCharFormat::setBaselineOffset(qreal baseline)▲
Sets the base line (in % of height) of text to baseline. A positive value moves the text up, by the corresponding %; a negative value moves it down. The default value is 0.
This function was introduced in Qt 6.0.
See Also▲
See also baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline()
[since 5.3] void QTextCharFormat::setFont(const QFont &font, QTextCharFormat::FontPropertiesInheritanceBehavior behavior = FontPropertiesAll)▲
Sets the text format's font.
If behavior is QTextCharFormat::FontPropertiesAll, the font property that has not been explicitly set is treated like as it were set with default value; If behavior is QTextCharFormat::FontPropertiesSpecifiedOnly, the font property that has not been explicitly set is ignored and the respective property value remains unchanged.
This function was introduced in Qt 5.3.
See Also▲
See also font()
void QTextCharFormat::setFontCapitalization(QFont::Capitalization capitalization)▲
Sets the capitalization of the text that appears in this font to capitalization.
A font's capitalization makes the text appear in the selected capitalization mode.
See Also▲
See also fontCapitalization()
[since 5.13] void QTextCharFormat::setFontFamilies(const QStringList &families)▲
Sets the text format's font families.
This function was introduced in Qt 5.13.
See Also▲
See also fontFamilies(), setFont()
void QTextCharFormat::setFontFixedPitch(bool fixedPitch)▲
If fixedPitch is true, sets the text format's font to be fixed pitch; otherwise a non-fixed pitch font is used.
See Also▲
See also fontFixedPitch(), setFont()
void QTextCharFormat::setFontHintingPreference(QFont::HintingPreference hintingPreference)▲
Sets the hinting preference of the text format's font to be hintingPreference.
See Also▲
See also fontHintingPreference(), setFont(), QFont::setHintingPreference()
void QTextCharFormat::setFontItalic(bool italic)▲
If italic is true, sets the text format's font to be italic; otherwise the font will be non-italic.
See Also▲
See also fontItalic(), setFont()
void QTextCharFormat::setFontKerning(bool enable)▲
Enables kerning for this font if enable is true; otherwise disables it.
When kerning is enabled, glyph metrics do not add up anymore, even for Latin text. In other words, the assumption that width('a') + width('b') is equal to width("ab") is not neccesairly true.
See Also▲
See also fontKerning(), setFont()
void QTextCharFormat::setFontLetterSpacing(qreal spacing)▲
Sets the letter spacing of this format to the given spacing. The meaning of the value depends on the font letter spacing type.
For percentage spacing a value of 100 indicates default spacing; a value of 200 doubles the amount of space a letter takes.
See Also▲
See also fontLetterSpacing(), setFontLetterSpacingType(), fontLetterSpacingType()
[since 5.0] void QTextCharFormat::setFontLetterSpacingType(QFont::SpacingType letterSpacingType)▲
Sets the letter spacing type of this format to letterSpacingType.
This function was introduced in Qt 5.0.
See Also▲
See also fontLetterSpacingType(), setFontLetterSpacing(), fontLetterSpacing()
void QTextCharFormat::setFontOverline(bool overline)▲
If overline is true, sets the text format's font to be overlined; otherwise the font is displayed non-overlined.
See Also▲
See also fontOverline(), setFont()
void QTextCharFormat::setFontPointSize(qreal size)▲
[since 5.0] void QTextCharFormat::setFontStretch(int factor)▲
Sets the stretch factor for the font to factor.
The stretch factor changes the width of all characters in the font by factor percent. For example, setting factor to 150 results in all characters in the font being 1.5 times (ie. 150%) wider. The default stretch factor is 100. The minimum stretch factor is 1, and the maximum stretch factor is 4000.
The stretch factor is only applied to outline fonts. The stretch factor is ignored for bitmap fonts.
This function was introduced in Qt 5.0.
See Also▲
See also fontStretch()
void QTextCharFormat::setFontStrikeOut(bool strikeOut)▲
If strikeOut is true, sets the text format's font with strike-out enabled (with a horizontal line through it); otherwise it is displayed without strikeout.
See Also▲
See also fontStrikeOut(), setFont()
void QTextCharFormat::setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault)▲
Sets the font style hint and strategy.
Qt does not support style hints on X11 since this information is not provided by the window system.
See Also▲
See also fontStyleHint(), setFont(), QFont::setStyleHint()
[since 5.13] void QTextCharFormat::setFontStyleName(const QString &styleName)▲
Sets the text format's font styleName.
This function was introduced in Qt 5.13.
See Also▲
See also fontStyleName(), setFont(), QFont::setStyleName()
void QTextCharFormat::setFontStyleStrategy(QFont::StyleStrategy strategy)▲
Sets the font style strategy.
See Also▲
See also fontStyleStrategy(), setFont(), QFont::setStyleStrategy()
void QTextCharFormat::setFontUnderline(bool underline)▲
If underline is true, sets the text format's font to be underlined; otherwise it is displayed non-underlined.
See Also▲
See also fontUnderline(), setFont()
void QTextCharFormat::setFontWeight(int weight)▲
Sets the text format's font weight to weight.
See Also▲
See also fontWeight(), setFont(), QFont::Weight
void QTextCharFormat::setFontWordSpacing(qreal spacing)▲
Sets the word spacing of this format to the given spacing, in pixels.
See Also▲
See also fontWordSpacing()
[since 6.0] void QTextCharFormat::setSubScriptBaseline(qreal baseline)▲
Sets the subscript's base line as a % of font height to baseline. The default value is 16.67% (1/6 of height)
This function was introduced in Qt 6.0.
See Also▲
See also subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), baselineOffset()
[since 6.0] void QTextCharFormat::setSuperScriptBaseline(qreal baseline)▲
Sets the superscript's base line as a % of font height to baseline. The default value is 50% (1/2 of height).
This function was introduced in Qt 6.0.
See Also▲
See also superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), baselineOffset()
void QTextCharFormat::setTextOutline(const QPen &pen)▲
Sets the pen used to draw the outlines of characters to the given pen.
See Also▲
See also textOutline()
void QTextCharFormat::setToolTip(const QString &text)▲
void QTextCharFormat::setUnderlineColor(const QColor &color)▲
Sets the color used to draw underlines, overlines and strikeouts on the characters with this format to the color specified.
See Also▲
See also underlineColor()
void QTextCharFormat::setUnderlineStyle(QTextCharFormat::UnderlineStyle style)▲
void QTextCharFormat::setVerticalAlignment(QTextCharFormat::VerticalAlignment alignment)▲
Sets the vertical alignment used for the characters with this format to the alignment specified.
See Also▲
See also verticalAlignment()
[since 6.0] qreal QTextCharFormat::subScriptBaseline() const▲
Returns the subscript's base line as a % of font height.
This function was introduced in Qt 6.0.
See Also▲
See also setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), baselineOffset()
[since 6.0] qreal QTextCharFormat::superScriptBaseline() const▲
Returns the superscript's base line as a % of font height.
This function was introduced in Qt 6.0.
See Also▲
See also setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), baselineOffset()
QPen QTextCharFormat::textOutline() const▲
Returns the pen used to draw the outlines of characters in this format.
See Also▲
See also setTextOutline()
QString QTextCharFormat::toolTip() const▲
QColor QTextCharFormat::underlineColor() const▲
Returns the color used to draw underlines, overlines and strikeouts on the characters with this format.
See Also▲
See also setUnderlineColor()
QTextCharFormat::UnderlineStyle QTextCharFormat::underlineStyle() const▲
QTextCharFormat::VerticalAlignment QTextCharFormat::verticalAlignment() const▲
Returns the vertical alignment used for characters with this format.
See Also▲
See also setVerticalAlignment()
Obsolete Members for QTextCharFormat▲
The following members of class QTextCharFormat are deprecated. We strongly advise against using them in new code.
Obsolete Member Function Documentation▲
QString QTextCharFormat::fontFamily() const▲
This function is deprecated since 6.1. We strongly advise against using it in new code.
Use fontFamilies() instead.
Returns the text format's font family.
See Also▲
See also setFontFamily(), font()
void QTextCharFormat::setFontFamily(const QString &family)▲
This function is deprecated since 6.1. We strongly advise against using it in new code.
Use setFontFamilies() instead.
Sets the text format's font family.
See Also▲
See also fontFamily(), setFont()