Класс QTextCharFormat
Класс QTextCharFormat предоставляет информацию о форматировании символов в QTextDocument. Подробнее...
| Заголовок: | #include <QTextCharFormat> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Наследуется от: | QTextFormat |
| Наследует: |
Примечание: Все функции в этом классе являются перевходными.
Публичные типы
| Перечисление | FontPropertiesInheritanceBehavior { FontPropertiesSpecifiedOnly, FontPropertiesAll } |
| Перечисление | СтильПодчёркивания { NoUnderline, SingleUnderline, DashUnderline, DotLine, DashDotLine, …, SpellCheckUnderline } |
| Перечисление | ВыравниваниеПоВертикали { AlignNormal, AlignSuperScript, AlignSubScript, AlignMiddle, AlignBottom, …, AlignBaseline } |
Публичные функции
| QTextCharFormat() | |
| QString | anchorHref() const |
| QStringList | anchorNames() const |
| qreal | baselineOffset() const |
| QFont | font() const |
| QFont::Capitalization | fontCapitalization() const |
| QVariant | fontFamilies() const |
| bool | fontFixedPitch() const |
| QFont::HintingPreference | fontHintingPreference() const |
| bool | fontItalic() const |
| bool | fontKerning() const |
| qreal | fontLetterSpacing() const |
| QFont::SpacingType | fontLetterSpacingType() const |
| bool | fontOverline() const |
| qreal | fontPointSize() const |
| int | fontStretch() const |
| bool | fontStrikeOut() const |
| QFont::StyleHint | fontStyleHint() const |
| QVariant | fontStyleName() const |
| QFont::StyleStrategy | fontStyleStrategy() const |
| bool | fontUnderline() const |
| int | fontWeight() const |
| qreal | fontWordSpacing() const |
| bool | isAnchor() const |
| bool | isValid() const |
| void | setAnchor(bool anchor) |
| void | setAnchorHref(const QString &value) |
| void | setAnchorNames(const QStringList &names) |
| void | setBaselineOffset(qreal baseline) |
| void | setFont(const QFont &font, QTextCharFormat::FontPropertiesInheritanceBehavior behavior = FontPropertiesAll) |
| void | setFontCapitalization(QFont::Capitalization capitalization) |
| void | setFontFamilies(const QStringList &families) |
| void | setFontFixedPitch(bool fixedPitch) |
| void | setFontHintingPreference(QFont::HintingPreference hintingPreference) |
| void | setFontItalic(bool italic) |
| void | setFontKerning(bool enable) |
| void | setFontLetterSpacing(qreal spacing) |
| void | setFontLetterSpacingType(QFont::SpacingType letterSpacingType) |
| void | setFontOverline(bool overline) |
| void | setFontPointSize(qreal size) |
| void | setFontStretch(int factor) |
| void | setFontStrikeOut(bool strikeOut) |
| void | setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault) |
| void | setFontStyleName(const QString &styleName) |
| void | setFontStyleStrategy(QFont::StyleStrategy strategy) |
| void | setFontUnderline(bool underline) |
| void | setFontWeight(int weight) |
| void | setFontWordSpacing(qreal spacing) |
| void | setSubScriptBaseline(qreal baseline) |
| void | setSuperScriptBaseline(qreal baseline) |
| void | setTextOutline(const QPen &pen) |
| void | setToolTip(const QString &text) |
| void | setUnderlineColor(const QColor &color) |
| void | setUnderlineStyle(QTextCharFormat::UnderlineStyle style) |
| void | setVerticalAlignment(QTextCharFormat::VerticalAlignment alignment) |
| qreal | subScriptBaseline() const |
| qreal | superScriptBaseline() const |
| QPen | контурТекста() const |
| QString | подсказка() const |
| QColor | цветПодчёркивания() const |
| QTextCharFormat::UnderlineStyle | стильПодчёркивания() const |
| QTextCharFormat::VerticalAlignment | вертикальноеВыравнивание() const |
Подробное описание
Формат символов текста в документе определяет визуальные свойства текста, а также информацию о его роли в гипертекстовом документе.
Используемый шрифт можно установить, передав его в функцию setFont(), и каждый аспект его внешнего вида можно настроить для достижения желаемого эффекта. setFontFamily() и setFontPointSize() определяют семейство шрифта (например, Times) и размер шрифта в пунктах; setFontWeight() и setFontItalic() позволяют управлять стилем шрифта. setFontUnderline(), setFontOverline(), setFontStrikeOut() и setFontFixedPitch() обеспечивают дополнительные эффекты для текста.
Цвет устанавливается с помощью setForeground(). Если текст предназначен для использования в качестве якоря (для гиперссылок), это можно включить с помощью setAnchor(). Функции setAnchorHref() и setAnchorNames() используются для указания информации о пункте назначения гиперссылки и имени якоря.
См. также QTextFormat, QTextBlockFormat, QTextTableFormat и QTextListFormat.
Документация по типам членов
[since 5.3] перечисление QTextCharFormat::FontPropertiesInheritanceBehavior
Это перечисление определяет, как функция setFont() должна вести себя по отношению к несвойствам шрифта.
| Постоянная | Значение | Описание |
|---|---|---|
QTextCharFormat::FontPropertiesSpecifiedOnly |
0 |
Если свойство не явно задано, не изменяйте значение свойства формата текста. |
QTextCharFormat::FontPropertiesAll |
1 |
Если свойство не явно задано, перезамените свойство формата текста значением по умолчанию. |
Это перечисление было введено или изменено в Qt 5.3.
См. также setFont().
перечисление QTextCharFormat::UnderlineStyle
Это перечисление описывает различные способы рисования подчеркнутого текста.
| Постоянная | Значение | Описание |
|---|---|---|
QTextCharFormat::NoUnderline |
0 |
Текст рисуется без каких-либо декораций подчеркивания. |
QTextCharFormat::SingleUnderline |
1 |
Рисуется линия с помощью Qt::SolidLine. |
QTextCharFormat::DashUnderline |
2 |
Рисуются штрихи с помощью Qt::DashLine. |
QTextCharFormat::DotLine |
3 |
Рисуются точки с помощью Qt::DotLine. |
QTextCharFormat::DashDotLine |
4 |
Рисуются штрихи и точки с помощью Qt::DashDotLine. |
QTextCharFormat::DashDotDotLine |
5 |
Подчёркивание рисуется с помощью Qt::DashDotDotLine. |
QTextCharFormat::WaveUnderline |
6 |
Текст подчеркивается волнистой линией. |
QTextCharFormat::SpellCheckUnderline |
7 |
Подчеркивание рисуется в зависимости от подсказки темы SpellCheckUnderlineStyle QPlatformTheme. По умолчанию это сопоставлено с WaveUnderline, в macOS - с DotLine. |
См. также Qt::PenStyle.
enum QTextCharFormat::VerticalAlignment
Этот перечисление описывает способы вертикального выравнивания смежных символов.
| Постоянная | Значение | Описание |
|---|---|---|
QTextCharFormat::AlignNormal |
0 |
Смежные символы размещаются стандартным образом для текста в используемой письменной системе. |
QTextCharFormat::AlignSuperScript |
1 |
Символы размещаются над базовой линией для обычного текста. |
QTextCharFormat::AlignSubScript |
2 |
Символы размещаются под базовой линией для обычного текста. |
QTextCharFormat::AlignMiddle |
3 |
Центр объекта выравнивается по вертикали с базовой линией. В настоящее время это реализовано только для встроенных объектов. |
QTextCharFormat::AlignBottom |
5 |
Нижняя граница объекта выравнивается по вертикали с базовой линией. |
QTextCharFormat::AlignTop |
4 |
Верхняя граница объекта выравнивается по вертикали с базовой линией. |
QTextCharFormat::AlignBaseline |
6 |
Базовые линии символов выравниваются. |
Документация функций-членов
QTextCharFormat::QTextCharFormat()
Создаёт новый объект форматирования символов.
QString QTextCharFormat::anchorHref() const
Возвращает гиперссылку формата текста или пустую строку, если она не задана.
См. также setAnchorHref().
QStringList QTextCharFormat::anchorNames() const
Возвращает имена якорей, связанные с этим форматом текста, или пустой список строк, если он не задан. Если имена якорей заданы, текст с этим форматом может быть местом назначения гиперссылки.
См. также setAnchorNames().
[since 6.0] qreal QTextCharFormat::baselineOffset() const
Возвращает смещение базовой линии в процентах.
Эта функция была введена в Qt 6.0.
См. также setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), и superScriptBaseline().
QFont QTextCharFormat::font() const
Возвращает шрифт для этого формата символов.
См. также setFont().
QFont::Capitalization QTextCharFormat::fontCapitalization() const
Возвращает текущий тип капитализации шрифта.
См. также setFontCapitalization().
[since 5.13] QVariant QTextCharFormat::fontFamilies() const
Возвращает наборы шрифтов формата текста.
Эта функция была введена в Qt 5.13.
См. также setFontFamilies() и font().
bool QTextCharFormat::fontFixedPitch() const
Возвращает true, если шрифт формата текста имеет фиксированную ширину; в противном случае возвращает false.
См. также setFontFixedPitch() и font().
QFont::HintingPreference QTextCharFormat::fontHintingPreference() const
Возвращает предпочтение сглаживания, заданное для этого формата текста.
См. также setFontHintingPreference(), font(), и QFont::hintingPreference().
bool QTextCharFormat::fontItalic() const
Возвращает true, если шрифт формата текста курсивный; в противном случае возвращает false.
См. также setFontItalic() и font().
bool QTextCharFormat::fontKerning() const
Возвращает true если кернинг шрифта включён.
См. также setFontKerning() и font().
qreal QTextCharFormat::fontLetterSpacing() const
Возвращает текущее значение интервалов между буквами.
См. также setFontLetterSpacing(), setFontLetterSpacingType() и fontLetterSpacingType().
[since 5.0] QFont::SpacingType QTextCharFormat::fontLetterSpacingType() const
Возвращает тип интервалов между буквами для данного формата.
Эта функция была добавлена в Qt 5.0.
См. также setFontLetterSpacingType(), setFontLetterSpacing() и fontLetterSpacing().
bool QTextCharFormat::fontOverline() const
Возвращает true если шрифт в текстовом формате имеет верхнюю линию; в противном случае возвращает false.
См. также setFontOverline() и font().
qreal QTextCharFormat::fontPointSize() const
Возвращает размер шрифта, используемый для отображения текста в этом формате.
См. также setFontPointSize() и font().
[since 5.0] int QTextCharFormat::fontStretch() const
Возвращает текущее растяжение шрифта.
Эта функция была добавлена в Qt 5.0.
См. также setFontStretch().
bool QTextCharFormat::fontStrikeOut() const
Возвращает true если шрифт текстового формата зачеркнут (имеет горизонтальную линию через него); в противном случае возвращает false.
См. также setFontStrikeOut() и font().
QFont::StyleHint QTextCharFormat::fontStyleHint() const
Возвращает подсказку стиля шрифта.
См. также setFontStyleHint() и font().
[since 5.13] QVariant QTextCharFormat::fontStyleName() const
Возвращает имя стиля шрифта в формате текста.
Эта функция была добавлена в Qt 5.13.
См. также setFontStyleName(), font() и QFont::styleName().
QFont::StyleStrategy QTextCharFormat::fontStyleStrategy() const
Возвращает текущую стратегию стиля шрифта.
См. также setFontStyleStrategy() и font().
bool QTextCharFormat::fontUnderline() const
Возвращает true если шрифт в текстовом формате подчёркнут; в противном случае возвращает false.
См. также setFontUnderline() и font().
int QTextCharFormat::fontWeight() const
Возвращает начертание шрифта в формате текста.
См. также setFontWeight(), font() и QFont::Weight.
qreal QTextCharFormat::fontWordSpacing() const
Возвращает текущее значение интервалов между словами.
См. также setFontWordSpacing().
bool QTextCharFormat::isAnchor() const
Возвращает true если текст отформатирован как якорная ссылка; в противном случае возвращает false.
См. также setAnchor(), setAnchorHref() и setAnchorNames().
bool QTextCharFormat::isValid() const
Возвращает true если данный формат символа корректен; в противном случае возвращает false.
void QTextCharFormat::setAnchor(bool anchor)
Если anchor имеет значение true, текст с этим форматом представляет собой якорь и форматируется соответствующим образом; в противном случае текст форматируется обычным способом. (Якоря — это гиперссылки, которые часто отображаются подчеркнутыми и другим цветом, отличным от простого текста.)
Способ отображения текста не зависит от того, определен ли для формата допустимый якорь. Используйте setAnchorHref(), а также необязательно setAnchorNames() для создания гипертекстовой ссылки.
См. также isAnchor().
void QTextCharFormat::setAnchorHref(const QString &value)
Устанавливает гипертекстовую ссылку для формата текста на заданное значение value. Обычно это URL-адрес, например, "http://example.com/index.html".
Якорь будет отображаться со значением value в качестве текста отображения; если вы хотите отобразить другой текст, вызовите setAnchorNames().
Для форматирования текста в виде гипертекстовой ссылки используйте setAnchor().
См. также anchorHref().
void QTextCharFormat::setAnchorNames(const QStringList &names)
Устанавливает имена якоря для формата текста. Для работы якоря как гиперссылки, целевое место назначения должно быть установлено с помощью setAnchorHref(), а сам якорь должен быть включён с помощью setAnchor().
См. также anchorNames().
[since 6.0] void QTextCharFormat::setBaselineOffset(qreal baseline)
Устанавливает базовую линию (в % от высоты) текста в baseline. Положительное значение перемещает текст вверх, на соответствующий %; отрицательное значение перемещает его вниз. Значение по умолчанию — 0.
Эта функция была введена в Qt 6.0.
См. также baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), и superScriptBaseline().
[since 5.3] void QTextCharFormat::setFont(const QFont &font, QTextCharFormat::FontPropertiesInheritanceBehavior behavior = FontPropertiesAll)
Устанавливает шрифт для формата текста.
Если behavior имеет значение QTextCharFormat::FontPropertiesAll, свойства шрифта, которые не были явно установлены, обрабатываются так, как будто они были установлены со значением по умолчанию; если behavior имеет значение QTextCharFormat::FontPropertiesSpecifiedOnly, свойство шрифта, которое не было явно установлено, игнорируется, и соответствующее значение свойства остаётся неизменным.
Эта функция была введена в Qt 5.3.
См. также font().
void QTextCharFormat::setFontCapitalization(QFont::Capitalization capitalization)
Устанавливает регистр текста, отображаемого в этом шрифте, в значение capitalization.
Регистр шрифта заставляет текст отображаться в выбранном режиме регистрового представления.
См. также fontCapitalization().
[since 5.13] void QTextCharFormat::setFontFamilies(const QStringList &families)
Устанавливает наборы шрифтов для формата текста.
Эта функция была введена в Qt 5.13.
См. также fontFamilies() и setFont().
void QTextCharFormat::setFontFixedPitch(bool fixedPitch)
Если fixedPitch имеет значение true, устанавливает шрифт формата текста на шрифт с фиксированной шириной; в противном случае используется шрифт без фиксированной ширины.
См. также fontFixedPitch() и setFont().
void QTextCharFormat::setFontHintingPreference(QFont::HintingPreference hintingPreference)
Устанавливает предпочтение отображения шрифтов для формата текста в значение hintingPreference.
См. также fontHintingPreference(), setFont() и QFont::setHintingPreference().
void QTextCharFormat::setFontItalic(bool italic)
Если italic равно true, устанавливает шрифт формата текста в курсив; в противном случае шрифт будет не курсивным.
См. также fontItalic() и setFont().
void QTextCharFormat::setFontKerning(bool enable)
Включает кернинг для этого шрифта, если enable равно true; в противном случае выключает его.
Когда кернинг включён, метрики глифов больше не суммируются, даже для латинского текста. Другими словами, предположение, что width('a') + width('b') равно width("ab"), не обязательно верно.
См. также fontKerning() и setFont().
void QTextCharFormat::setFontLetterSpacing(qreal spacing)
Устанавливает интерлиньяж этого формата в заданное значение spacing. Значение зависит от типа интерлиньяжа шрифта.
Для процентного интерлиньяжа значение 100 указывает стандартный интерлиньяж; значение 200 удваивает интерлиньяж между буквами.
См. также fontLetterSpacing(), setFontLetterSpacingType() и fontLetterSpacingType().
[since 5.0] void QTextCharFormat::setFontLetterSpacingType(QFont::SpacingType letterSpacingType)
Устанавливает тип интерлиньяжа этого формата в letterSpacingType.
Эта функция была добавлена в Qt 5.0.
См. также fontLetterSpacingType(), setFontLetterSpacing() и fontLetterSpacing().
void QTextCharFormat::setFontOverline(bool overline)
Если overline равно true, устанавливает шрифт формата текста с чертой сверху; в противном случае шрифт отображается без черты сверху.
См. также fontOverline() и setFont().
void QTextCharFormat::setFontPointSize(qreal size)
Устанавливает размер шрифта формата текста в size.
См. также fontPointSize() и setFont().
[since 5.0] void QTextCharFormat::setFontStretch(int factor)
Устанавливает коэффициент сжатия/растяжения шрифта в factor.
Коэффициент сжатия/растяжения изменяет ширину всех символов в шрифте на factor процентов. Например, установка factor в 150 приводит к тому, что все символы в шрифте будут в 1,5 раза шире (то есть на 150%). Значение по умолчанию для коэффициента сжатия/растяжения составляет 100. Минимальное значение — 1, максимальное — 4000.
Коэффициент сжатия/растяжения применяется только к контурным шрифтам. Для растровых шрифтов коэффициент сжатия/растяжения игнорируется.
Эта функция была добавлена в Qt 5.0.
См. также fontStretch().
void QTextCharFormat::setFontStrikeOut(bool strikeOut)
Если strikeOut равно true, устанавливает шрифт формата текста с прочеркиванием (с горизонтальной линией через него); в противном случае шрифт отображается без прочеркивания.
См. также fontStrikeOut() и setFont().
void QTextCharFormat::setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault)
Устанавливает стиль шрифта hint и strategy.
Qt не поддерживает подсказки стиля на X11, поскольку эта информация не предоставляется системой окон.
См. также fontStyleHint(), setFont() и QFont::setStyleHint().
[since 5.13] void QTextCharFormat::setFontStyleName(const QString &styleName)
Устанавливает имя стиля шрифта styleName.
Эта функция была добавлена в Qt 5.13.
См. также fontStyleName(), setFont() и QFont::setStyleName().
void QTextCharFormat::setFontStyleStrategy(QFont::StyleStrategy strategy)
Устанавливает стратегию форматирования шрифта strategy.
См. также fontStyleStrategy(), setFont() и QFont::setStyleStrategy().
void QTextCharFormat::setFontUnderline(bool underline)
Если underline равно true, устанавливает подчеркивание шрифта текста; в противном случае подчеркивание не используется.
См. также fontUnderline() и setFont().
void QTextCharFormat::setFontWeight(int weight)
Устанавливает начертание шрифта текста на weight.
См. также fontWeight(), setFont() и QFont::Weight.
void QTextCharFormat::setFontWordSpacing(qreal spacing)
Устанавливает межсловный интервал для этого формата на заданное значение spacing в пикселях.
См. также fontWordSpacing().
[since 6.0] void QTextCharFormat::setSubScriptBaseline(qreal baseline)
Устанавливает базовую линию нижнего индекса как процент от высоты шрифта на baseline. Значение по умолчанию составляет 16,67% (1/6 высоты).
Эта функция была добавлена в Qt 6.0.
См. также subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset() и baselineOffset().
[since 6.0] void QTextCharFormat::setSuperScriptBaseline(qreal baseline)
Устанавливает базовую линию верхнего индекса как процент от высоты шрифта на baseline. Значение по умолчанию составляет 50% (1/2 высоты).
Эта функция была добавлена в Qt 6.0.
См. также superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset() и baselineOffset().
void QTextCharFormat::setTextOutline(const QPen &pen)
Устанавливает перо, используемое для рисования контуров символов, на заданное pen.
См. также textOutline().
void QTextCharFormat::setToolTip(const QString &text)
Устанавливает всплывающую подсказку для фрагмента текста на заданное значение text.
См. также toolTip().
void QTextCharFormat::setUnderlineColor(const QColor &color)
Устанавливает цвет подчеркивания для символов с этим форматом на указанный color.
См. также underlineColor().
void QTextCharFormat::setUnderlineStyle(QTextCharFormat::UnderlineStyle style)
Устанавливает стиль подчеркивания текста на style.
См. также underlineStyle().
void QTextCharFormat::setVerticalAlignment(QTextCharFormat::VerticalAlignment alignment)
Устанавливает вертикальное выравнивание для символов с этим форматом на указанное значение alignment.
См. также verticalAlignment().
[since 6.0] qreal QTextCharFormat::subScriptBaseline() const
Возвращает базовую линию нижнего индекса как процент от высоты шрифта.
Эта функция была добавлена в Qt 6.0.
См. также setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), и baselineOffset().
[since 6.0] qreal QTextCharFormat::superScriptBaseline() const
Возвращает базовую линию надстрочного индекса в процентах от высоты шрифта.
Эта функция была добавлена в Qt 6.0.
См. также setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), и baselineOffset().
QPen QTextCharFormat::textOutline() const
Возвращает кисть, используемую для рисования контуров символов в этом формате.
См. также setTextOutline().
QString QTextCharFormat::toolTip() const
Возвращает подсказку, отображаемую для фрагмента текста.
См. также setToolTip().
QColor QTextCharFormat::underlineColor() const
Возвращает цвет, используемый для подчёркивания символов с этим форматом.
См. также setUnderlineColor().
QTextCharFormat::UnderlineStyle QTextCharFormat::underlineStyle() const
Возвращает стиль подчёркивания текста.
См. также setUnderlineStyle().
QTextCharFormat::VerticalAlignment QTextCharFormat::verticalAlignment() const
Возвращает вертикальное выравнивание, используемое для символов с этим форматом.
См. также setVerticalAlignment().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtextcharformat.html