Класс QTextFormat
Класс QTextFormat предоставляет информацию о форматировании для QTextDocument. Подробнее...
| Заголовок: | #include <QTextFormat> |
| qmake: | QT += gui |
| Наследуется от: | QTextBlockFormat, QTextCharFormat, QTextFrameFormat и QTextListFormat |
Примечание: Все функции в этом классе являются входными.
Типы
| Перечисление | ТипФорматирования { НеверныйФормат, ФорматБлока, ФорматСимвола, ФорматСписка, ФорматФрейма, ПользовательскийФормат } |
| Перечисление | ТипыОбъектов { НетОбъекта, ОбъектИзображение, ОбъектТаблица, ОбъектЯчейкаТаблицы, ПользовательскийОбъект } |
| Перечисление | ФлагРазрываСтраницы { РазрывСтраницы_Автоматический, РазрывСтраницы_ВсегдаПеред, РазрывСтраницы_ВсегдаПосле } |
| Флаги | ФлагиРазрываСтраницы |
| Перечисление | Свойство { ИндексОбъекта, CssСдвиг, НаправлениеВыравнивания, ОчертаниеПером, ..., ПользовательскоеСвойство } |
Открытые функции
| QTextFormat() | |
| QTextFormat(int type) | |
| QTextFormat(const QTextFormat &other) | |
| ~QTextFormat() | |
| QBrush | background() const |
| bool | boolProperty(int propertyId) const |
| QBrush | brushProperty(int propertyId) const |
| void | clearBackground() |
| void | clearForeground() |
| void | clearProperty(int propertyId) |
| QColor | colorProperty(int propertyId) const |
| qreal | doubleProperty(int propertyId) const |
| QBrush | foreground() const |
| bool | hasProperty(int propertyId) const |
| int | intProperty(int propertyId) const |
| bool | isBlockFormat() const |
| bool | isCharFormat() const |
| bool | isEmpty() const |
| bool | isFrameFormat() const |
| bool | isImageFormat() const |
| bool | isListFormat() const |
| bool | isTableCellFormat() const |
| bool | isTableFormat() const |
| bool | isValid() const |
| Qt::LayoutDirection | layoutDirection() const |
| QTextLength | lengthProperty(int propertyId) const |
| QVector<QTextLength> | lengthVectorProperty(int propertyId) const |
| void | merge(const QTextFormat &other) |
| int | objectIndex() const |
| int | objectType() const |
| QPen | penProperty(int propertyId) const |
| QMap<int, QVariant> | properties() const |
| QVariant | property(int propertyId) const |
| int | propertyCount() const |
| void | setBackground(const QBrush &brush) |
| void | setForeground(const QBrush &brush) |
| void | setLayoutDirection(Qt::LayoutDirection direction) |
| void | setObjectIndex(int index) |
| void | setObjectType(int type) |
| void | setProperty(int propertyId, const QVariant &value) |
| void | setProperty(int propertyId, const QVector<QTextLength> &value) |
| QString | stringProperty(int propertyId) const |
| void | swap(QTextFormat &other) |
| QTextBlockFormat | toBlockFormat() const |
| QTextCharFormat | toCharFormat() const |
| QTextFrameFormat | toFrameFormat() const |
| QTextImageFormat | toImageFormat() const |
| QTextListFormat | toListFormat() const |
| QTextTableCellFormat | toTableCellFormat() const |
| QTextTableFormat | toTableFormat() const |
| int | type() const |
| QVariant | operator QVariant() const |
| bool | operator!=(const QTextFormat &other) const |
| QTextFormat & | operator=(const QTextFormat &other) |
| bool | operator==(const QTextFormat &other) const |
Подробное описание
Класс QTextFormat предоставляет информацию о форматировании для QTextDocument.
Класс QTextFormat — это общий класс, используемый для описания формата частей QTextDocument. Производные классы QTextCharFormat, QTextBlockFormat, QTextListFormat и QTextTableFormat обычно более полезны и описывают форматирование, применяемое к конкретным частям документа.
Формат имеет FormatType, который определяет типы текстовых элементов, которые он может форматировать; например, блок текста, список, таблицу и т.д. У формата также есть различные свойства (некоторые специфичны для определенных типов формата), как описано в перечислении Property. Каждое свойство имеет соответствующее свойство Property.
Тип формата задаётся методом type(), а формат можно проверить с помощью методов isCharFormat(), isBlockFormat(), isListFormat(), isTableFormat(), isFrameFormat() и isImageFormat(). Если тип определён, его можно получить с помощью методов toCharFormat(), toBlockFormat(), toListFormat(), toTableFormat(), toFrameFormat() и toImageFormat().
Свойства формата можно установить с помощью функции setProperty(), а получить с помощью методов boolProperty(), intProperty(), doubleProperty() и stringProperty() в зависимости от типа. Все идентификаторы свойств, используемые в формате, можно получить с помощью allPropertyIds(). Один формат можно объединить с другим, используя метод merge().
Индекс объекта формата можно установить с помощью метода setObjectIndex() и получить с помощью метода objectIndex(). Эти методы можно использовать для ассоциации формата с объектом QTextObject. Он используется для представления списков, фреймов и таблиц внутри документа.
См. также Обработка форматированного текста.
Документация по типам членов
enum QTextFormat::FormatType
Этот перечисление описывает элемент текста, который форматирует объект QTextFormat.
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::InvalidFormat |
-1 |
Неверный формат, созданный конструктором по умолчанию |
QTextFormat::BlockFormat |
1 |
Объект форматирует блок текста |
QTextFormat::CharFormat |
2 |
Объект форматирует отдельный символ |
QTextFormat::ListFormat |
3 |
Объект форматирует список. Неиспользуемое значение, FormatType таблицы — FrameFormat. |
QTextFormat::FrameFormat |
5 |
Объект форматирует фрейм |
QTextFormat::UserFormat |
100 |
См. также QTextCharFormat, QTextBlockFormat, QTextListFormat, QTextTableFormat и type().
enum QTextFormat::ObjectTypes
Это перечисление описывает тип QTextObject, с которым связан данный формат.
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::NoObject |
0 |
|
QTextFormat::ImageObject |
1 |
|
QTextFormat::TableObject |
2 |
|
QTextFormat::TableCellObject |
3 |
|
QTextFormat::UserObject |
0x1000 |
Первый объект, который можно использовать для целей, специфичных для приложения. |
См. также QTextObject, QTextTable и QTextObject::format().
enum QTextFormat::PageBreakFlagflags QTextFormat::PageBreakFlags
Это перечисление описывает, как выполняется разбиение страниц при печати. Оно сопоставлено соответствующим свойствам CSS.
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::PageBreak_Auto |
0 |
Разбиение страницы определяется автоматически в зависимости от доступного пространства на текущей странице |
QTextFormat::PageBreak_AlwaysBefore |
0x001 |
Страница всегда разбивается перед абзацем/таблицей |
QTextFormat::PageBreak_AlwaysAfter |
0x010 |
Новая страница всегда начинается после абзаца/таблицы |
Это перечисление было введено или изменено в Qt 4.2.
Тип PageBreakFlags является типом-синонимом для QFlags<PageBreakFlag>. Он хранит логическое ИЛИ сочетание значений PageBreakFlag.
См. также QTextBlockFormat::pageBreakPolicy(), QTextFrameFormat::pageBreakPolicy() и PageBreakPolicy.
enum QTextFormat::Property
Это перечисление описывает различные свойства, которые может иметь формат.
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::ObjectIndex |
0x0 |
Индекс форматированного объекта. См. objectIndex(). |
Свойства абзаца и символа
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::CssFloat |
0x0800 |
Расположение фрейма относительно окружающего текста |
QTextFormat::LayoutDirection |
0x0801 |
Направление вывода текста в документе (Qt::LayoutDirection). |
QTextFormat::OutlinePen |
0x810 |
|
QTextFormat::ForegroundBrush |
0x821 |
|
QTextFormat::BackgroundBrush |
0x820 |
|
QTextFormat::BackgroundImageUrl |
0x823 |
Свойства абзаца
| Постоянная | Значение | Описание |
|---|---|---|
QTextFormat::BlockAlignment |
0x1010 |
|
QTextFormat::BlockTopMargin |
0x1030 |
|
QTextFormat::BlockBottomMargin |
0x1031 |
|
QTextFormat::BlockLeftMargin |
0x1032 |
|
QTextFormat::BlockRightMargin |
0x1033 |
|
QTextFormat::TextIndent |
0x1034 |
|
QTextFormat::TabPositions |
0x1035 |
Задает позиции табуляции. Позиции табуляции — это структуры QTextOption::Tab, которые хранятся в списке QList (внутренне, в QList<QVariant>). |
QTextFormat::BlockIndent |
0x1040 |
|
QTextFormat::LineHeight |
0x1048 |
|
QTextFormat::LineHeightType |
0x1049 |
|
QTextFormat::BlockNonBreakableLines |
0x1050 |
|
QTextFormat::BlockTrailingHorizontalRulerWidth |
0x1060 |
Ширина горизонтального элемента линейки. |
Свойства символа
| Константа | Значение | Описание |
|---|---|---|
QTextFormat::FontFamily |
0x2000 |
|
QTextFormat::FontPointSize |
0x2001 |
|
QTextFormat::FontPixelSize |
0x2009 |
|
QTextFormat::FontSizeAdjustment |
0x2002 |
Указывает изменение размера шрифта, заданного ранее с помощью FontPointSize или FontPixelSize. |
QTextFormat::FontFixedPitch |
0x2008 |
|
QTextFormat::FontWeight |
0x2003 |
|
QTextFormat::FontItalic |
0x2004 |
|
QTextFormat::FontUnderline |
0x2005 |
Этот свойство устарело. Используйте QTextFormat::TextUnderlineStyle вместо него. |
QTextFormat::FontOverline |
0x2006 |
|
QTextFormat::FontStrikeOut |
0x2007 |
|
QTextFormat::FontCapitalization |
FirstFontProperty |
Указывает тип капитализации, который должен быть применён к тексту. |
QTextFormat::FontLetterSpacingType |
0x2033 |
Указывает значение свойства FontLetterSpacing. По умолчанию — QFont::PercentageSpacing. |
QTextFormat::FontLetterSpacing |
0x1FE1 |
Изменяет стандартное расстояние между отдельными буквами в шрифте. Значение задаётся в процентах или в абсолютных значениях, в зависимости от FontLetterSpacingType. Значение по умолчанию — 100%. |
QTextFormat::FontWordSpacing |
0x1FE2 |
Изменяет стандартное расстояние между отдельными словами. Положительное значение увеличивает межсловное расстояние на соответствующее количество пикселей; отрицательное значение уменьшает расстояние. |
QTextFormat::FontStretch |
0x2034 |
Соответствует свойству QFont::Stretch |
QTextFormat::FontStyleHint |
0x1FE3 |
Соответствует свойству QFont::StyleHint |
QTextFormat::FontStyleStrategy |
0x1FE4 |
Соответствует свойству QFont::StyleStrategy |
QTextFormat::FontKerning |
0x1FE5 |
Указывает, включена ли керинг для шрифта. |
QTextFormat::FontHintingPreference |
0x1FE6 |
Управляет использованием сглаживания в соответствии со значениями перечисления QFont::HintingPreference. |
QTextFormat::TextUnderlineColor |
0x2010 |
|
QTextFormat::TextVerticalAlignment |
0x2021 |
|
QTextFormat::TextOutline |
0x2022 |
|
QTextFormat::TextUnderlineStyle |
0x2023 |
|
QTextFormat::TextToolTip |
0x2024 |
Указывает (необязательный) всплывающую подсказку, которая должна отображаться для фрагмента текста. |
QTextFormat::IsAnchor |
0x2030 |
|
QTextFormat::AnchorHref |
0x2031 |
|
QTextFormat::AnchorName |
0x2032 |
|
QTextFormat::ObjectType |
0x2f00 |
Свойства списков
| Константа | Значение | Описание |
|---|---|---|
QTextFormat::ListStyle |
0x3000 |
Указывает стиль, используемый для элементов списка, описываемый значениями перечисления QTextListFormat::Style. |
QTextFormat::ListIndent |
0x3001 |
Указывает величину отступа, используемого для списка. |
QTextFormat::ListNumberPrefix |
0x3002 |
Определяет текст, который добавляется перед номерами элементов в числовых списках. |
QTextFormat::ListNumberSuffix |
0x3003 |
Определяет текст, который добавляется после номеров элементов в числовых списках. |
Свойства таблиц и фреймов
| Константа | Значение | Описание |
|---|---|---|
QTextFormat::FrameBorder |
0x4000 |
|
QTextFormat::FrameBorderBrush |
0x4009 |
|
QTextFormat::FrameBorderStyle |
0x4010 |
См. перечисление BorderStyle. |
QTextFormat::FrameBottomMargin |
0x4006 |
|
QTextFormat::FrameHeight |
0x4004 |
|
QTextFormat::FrameLeftMargin |
0x4007 |
|
QTextFormat::FrameMargin |
0x4001 |
|
QTextFormat::FramePadding |
0x4002 |
|
QTextFormat::FrameRightMargin |
0x4008 |
|
QTextFormat::FrameTopMargin |
0x4005 |
|
QTextFormat::FrameWidth |
0x4003 |
|
QTextFormat::TableCellSpacing |
0x4102 |
|
QTextFormat::TableCellPadding |
0x4103 |
|
QTextFormat::TableColumns |
0x4100 |
|
QTextFormat::TableColumnWidthConstraints |
0x4101 |
|
QTextFormat::TableHeaderRowCount |
0x4104 |
Свойства ячеек таблицы
| Константа | Значение |
|---|---|
QTextFormat::TableCellRowSpan |
0x4810 |
QTextFormat::TableCellColumnSpan |
0x4811 |
QTextFormat::TableCellLeftPadding |
0x4814 |
QTextFormat::TableCellRightPadding |
0x4815 |
QTextFormat::TableCellTopPadding |
0x4812 |
QTextFormat::TableCellBottomPadding |
0x4813 |
Свойства изображений
| Константа | Значение |
|---|---|
QTextFormat::ImageName |
0x5000 |
QTextFormat::ImageWidth |
0x5010 |
QTextFormat::ImageHeight |
0x5011 |
Свойства выделения
| Константа | Значение | Описание |
|---|---|---|
QTextFormat::FullWidthSelection |
0x06000 |
При установке на characterFormat выделения, вся ширина текста будет отображаться как выделенная. |
Свойства разрывов страниц
| Константа | Значение | Описание |
|---|---|---|
QTextFormat::PageBreakPolicy |
0x7000 |
Указывает, как страницы разбиваются. Смотрите перечисление PageBreakFlag. |
QTextFormat::UserProperty |
0x100000 |
См. также property() и setProperty().
Документация функций-членов
QTextFormat::QTextFormat()
Создаёт новый формат текста с InvalidFormat.
См. также FormatType.
QTextFormat::QTextFormat(int type)
Создаёт новый формат текста заданного типа type.
См. также FormatType.
QTextFormat::QTextFormat(const QTextFormat &other)
Создаёт новый формат текста с теми же атрибутами, что и формат текста other.
QTextFormat::~QTextFormat()
Удаляет этот формат текста.
QBrush QTextFormat::background() const
Возвращает кисть, используемую для отрисовки фона документа.
См. также setBackground(), clearBackground() и foreground().
bool QTextFormat::boolProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId. Если свойство не является типом QTextFormat::Bool, возвращается false.
См. также setProperty(), intProperty(), doubleProperty(), stringProperty(), colorProperty(), lengthProperty(), lengthVectorProperty() и Property.
QBrush QTextFormat::brushProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId; если свойство не имеет тип QVariant::Brush, возвращается Qt::NoBrush.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), lengthProperty(), lengthVectorProperty() и Property.
void QTextFormat::clearBackground()
Очищает кисть, используемую для отрисовки фона документа. Будет использована кисть по умолчанию.
См. также background(), setBackground() и clearForeground().
void QTextFormat::clearForeground()
Очищает кисть, используемую для отрисовки переднего плана документа. Будет использована кисть по умолчанию.
См. также foreground(), setForeground() и clearBackground().
void QTextFormat::clearProperty(int propertyId)
Очищает значение свойства, заданного propertyId
См. также Property.
QColor QTextFormat::colorProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId; если свойство не имеет тип QVariant::Color, возвращается недействительный цвет.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), lengthProperty(), lengthVectorProperty() и Property.
qreal QTextFormat::doubleProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId. Если свойство не является типом QVariant::Double или QMetaType::Float, возвращается 0.
См. также setProperty(), boolProperty(), intProperty(), stringProperty(), colorProperty(), lengthProperty(), lengthVectorProperty() и Property.
QBrush QTextFormat::foreground() const
Возвращает кисть, используемую для отрисовки деталей переднего плана, таких как текст, рамки и границы таблиц.
См. также setForeground(), clearForeground() и background().
bool QTextFormat::hasProperty(int propertyId) const
Возвращает true, если формат текста имеет свойство с заданным propertyId; в противном случае возвращает false.
См. также properties() и Property.
int QTextFormat::intProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId. Если свойство не имеет тип QTextFormat::Integer, возвращается 0.
См. также setProperty(), boolProperty(), doubleProperty(), stringProperty(), colorProperty(), lengthProperty(), lengthVectorProperty() и Property.
bool QTextFormat::isBlockFormat() const
Возвращает true, если этот формат текста является BlockFormat; в противном случае возвращает false.
bool QTextFormat::isCharFormat() const
Возвращает true, если этот формат текста является CharFormat; в противном случае возвращает false.
bool QTextFormat::isEmpty() const
Возвращает true, если формат не хранит никаких свойств; в противном случае возвращает false.
Эта функция была добавлена в Qt 5.3.
См. также propertyCount() и properties().
bool QTextFormat::isFrameFormat() const
Возвращает true, если этот формат текста является FrameFormat; в противном случае возвращает false.
bool QTextFormat::isImageFormat() const
Возвращает true, если этот формат текста является форматом изображения; в противном случае возвращает false.
bool QTextFormat::isListFormat() const
Возвращает true, если этот формат текста является ListFormat; в противном случае возвращает false.
bool QTextFormat::isTableCellFormat() const
Возвращает true, если этот формат текста является TableCellFormat; в противном случае возвращает false.
Эта функция была добавлена в Qt 4.4.
bool QTextFormat::isTableFormat() const
Возвращает true, если этот формат текста является TableFormat; в противном случае возвращает false.
bool QTextFormat::isValid() const
Возвращает true, если формат действителен (т.е. не InvalidFormat); в противном случае возвращает false.
Qt::LayoutDirection QTextFormat::layoutDirection() const
Возвращает направление выравнивания документа.
См. также setLayoutDirection().
QTextLength QTextFormat::lengthProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), colorProperty(), lengthVectorProperty() и Property.
QVector<QTextLength> QTextFormat::lengthVectorProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId. Если свойство не имеет тип QTextFormat::LengthVector, возвращается пустой вектор длин.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), colorProperty(), lengthProperty() и Property.
void QTextFormat::merge(const QTextFormat &other)
Объединяет формат other с этим форматом; в случае конфликта приоритет отдаётся формату other.
int QTextFormat::objectIndex() const
Возвращает индекс объекта формата или -1, если объект формата недействителен.
См. также setObjectIndex().
int QTextFormat::objectType() const
Возвращает тип объекта текстового формата.
См. также ObjectTypes и setObjectType().
QPen QTextFormat::penProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId; если свойство не является типом QVariant::Pen, возвращается Qt::NoPen.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), lengthProperty(), lengthVectorProperty() и Property.
QMap<int, QVariant> QTextFormat::properties() const
Возвращает карту со всеми свойствами этого текстового формата.
QVariant QTextFormat::property(int propertyId) const
Возвращает свойство, заданное propertyId.
См. также setProperty() и Property.
int QTextFormat::propertyCount() const
Возвращает количество свойств, хранящихся в формате.
Эта функция была добавлена в Qt 4.3.
void QTextFormat::setBackground(const QBrush &brush)
Устанавливает кисть для отрисовки фона документа в значение brush.
См. также background(), clearBackground() и setForeground().
void QTextFormat::setForeground(const QBrush &brush)
Устанавливает кисть переднего плана на указанную brush. Кисть переднего плана в основном используется для отрисовки текста.
См. также foreground(), clearForeground() и setBackground().
void QTextFormat::setLayoutDirection(Qt::LayoutDirection direction)
Устанавливает направление выравнивания документа на указанное direction.
См. также layoutDirection().
void QTextFormat::setObjectIndex(int index)
Устанавливает индекс объекта формата на index.
См. также objectIndex().
void QTextFormat::setObjectType(int type)
Устанавливает тип объекта текстового формата на type.
См. также ObjectTypes и objectType().
void QTextFormat::setProperty(int propertyId, const QVariant &value)
Устанавливает свойство, заданное propertyId, на указанное значение value.
См. также property() и Property.
void QTextFormat::setProperty(int propertyId, const QVector<QTextLength> &value)
Устанавливает значение свойства, заданного propertyId, на value.
См. также lengthVectorProperty() и Property.
QString QTextFormat::stringProperty(int propertyId) const
Возвращает значение свойства, заданного propertyId; если свойство не является типом QVariant::String, возвращается пустая строка.
См. также setProperty(), boolProperty(), intProperty(), doubleProperty(), colorProperty(), lengthProperty(), lengthVectorProperty() и Property.
void QTextFormat::swap(QTextFormat &other)
Меняет местами этот текстовый формат с other. Эта функция очень быстрая и никогда не терпит неудач.
Эта функция была добавлена в Qt 5.0.
QTextBlockFormat QTextFormat::toBlockFormat() const
Возвращает этот формат как формат блока.
QTextCharFormat QTextFormat::toCharFormat() const
Возвращает этот формат как формат символа.
QTextFrameFormat QTextFormat::toFrameFormat() const
Возвращает этот формат как формат фрейма.
QTextImageFormat QTextFormat::toImageFormat() const
Возвращает этот формат как формат изображения.
QTextListFormat QTextFormat::toListFormat() const
Возвращает этот формат как формат списка.
QTextTableCellFormat QTextFormat::toTableCellFormat() const
Возвращает этот формат как формат ячейки таблицы.
Эта функция была добавлена в Qt 4.4.
QTextTableFormat QTextFormat::toTableFormat() const
Возвращает этот формат как формат таблицы.
int QTextFormat::type() const
Возвращает тип этого формата.
См. также FormatType.
QVariant QTextFormat::operator QVariant() const
Возвращает текстовый формат как QVariant.
bool QTextFormat::operator!=(const QTextFormat &other) const
Возвращает true, если этот текстовый формат отличается от текстового формата other.
QTextFormat &QTextFormat::operator=(const QTextFormat &other)
Присваивает текстовый формат other этому текстовому формату и возвращает ссылку на этот текстовый формат.
bool QTextFormat::operator==(const QTextFormat &other) const
Возвращает true, если этот текстовый формат совпадает с текстовым форматом other.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qtextformat.html