Класс 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 } |
| Перечисление | СтильПодчеркивания { НетПодчеркивания, ОднократноеПодчеркивание, ШтриховоеПодчеркивание, ПунктирноеПодчеркивание, ШтрихПунктир, …, ПодчеркиваниеПроверкиОрфографии } |
| Перечисление | ВыравниваниеПоВертикали { НормальноеВыравнивание, НадстрочныйИндекс, ПодстрочныйИндекс, СреднееВыравнивание, ВыравниваниеПоНизу, …, ВыравниваниеПоБазовойЛинии } |
Публичные функции
| 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 | textOutline() const |
| QString | toolTip() const |
| QColor | underlineЦвет() const |
| QTextCharFormat::UnderlineStyle | стильПодчёркивания() const |
| QTextCharFormat::VerticalAlignment | вертикальноеВыравнивание() const |
Подробное описание
Формат символьного шрифта документа задаёт визуальные свойства текста, а также информацию о его роли в гипертекстовом документе.
Используемый шрифт можно установить, передав его в функцию setFont(), и каждый аспект его внешнего вида можно настроить, чтобы получить желаемый эффект. setFontFamilies() и 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.
перечисление 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().
END_OF_DOCUMENT_MARKERvoid 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 в 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.2/qtextcharformat.html