Spec-Zone.ru › Qt

Класс QTextBlockFormat

Класс QTextBlockFormat предоставляет информацию о форматировании блоков текста в QTextDocument. Подробнее...

Заголовок: #include <QTextBlockFormat>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследует: QTextFormat
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

Общедоступные типы

перечисление LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight }
перечисление MarkerType { NoMarker, Unchecked, Checked }

Общедоступные функции

QTextBlockFormat()
Qt::Alignment alignment() const
qreal bottomMargin() const
int headingLevel() const
int indent() const
bool isValid() const
qreal leftMargin() const
qreal lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const
qreal lineHeight() const
int lineHeightType() const
QTextBlockFormat::MarkerType marker() const
bool nonBreakableLines() const
QTextFormat::PageBreakFlags pageBreakPolicy() const
qreal rightMargin() const
void setAlignment(Qt::Alignment alignment)
void setBottomMargin(qreal margin)
void setHeadingLevel(int level)
void setIndent(int indentation)
void setLeftMargin(qreal margin)
void setLineHeight(qreal height, int heightType)
void setMarker(QTextBlockFormat::MarkerType marker)
void setNonBreakableLines(bool b)
void setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
void setRightMargin(qreal margin)
void setTabPositions(const QList<QTextOption::Tab> &tabs)
void setTextIndent(qreal indent)
void setTopMargin(qreal margin)
QList<QTextOption::Tab> tabPositions() const
qreal textIndent() const
qreal topMargin() const

Подробное описание

Документ состоит из списка блоков, представленных объектами QTextBlock. Каждый блок может содержать элемент какого-либо типа, например, абзац текста, таблицу, список или изображение. Каждый блок имеет связанный с ним QTextBlockFormat, который определяет его характеристики.

Для работы с языками слева направо и справа налево можно задать направление блока с помощью setDirection(). Выравнивание абзаца задаётся с помощью setAlignment(). Отступы контролируются setTopMargin(), setBottomMargin(), setLeftMargin(), setRightMargin(). Общий отступ задаётся с помощью setIndent(), отступ первой строки — с помощью setTextIndent().

Интерлиньяж устанавливается с помощью setLineHeight() и извлекается с помощью lineHeight() и lineHeightType(). Доступные типы интерлиньяжа находятся в перечислении LineHeightTypes.

Разрыв строк можно включить и выключить с помощью setNonBreakableLines().

Кисть, используемая для покраски фона абзаца, устанавливается с помощью setBackground(), а другие аспекты внешнего вида текста можно настроить, используя функцию setProperty() со значениями OutlinePen, ForegroundBrush, и BackgroundBrush QTextFormat::Property.

Если блок текста является частью списка, у него также может быть формат списка, доступный с помощью функции listFormat().

См. также QTextBlock и QTextCharFormat.

Документация типов членов

перечисление QTextBlockFormat::LineHeightTypes

Это перечисление описывает различные типы поддержки интерлиньяжа, которые могут иметь абзацы.

Постоянная Значение Описание
QTextBlockFormat::SingleHeight 0 Это стандартный интерлиньяж: одинарный.
QTextBlockFormat::ProportionalHeight 1 Это устанавливает интерлиньяж пропорционально строке (в процентах). Например, значение 200 соответствует двойному интервалу.
QTextBlockFormat::FixedHeight 2 Это устанавливает интерлиньяж на фиксированную величину (в пикселях).
QTextBlockFormat::MinimumHeight 3 Это устанавливает минимальный интерлиньяж (в пикселях).
QTextBlockFormat::LineDistanceHeight 4 Это добавляет указанную высоту между строками (в пикселях).

См. также lineHeight(), lineHeightType(), и setLineHeight().

[since 5.14] перечисление QTextBlockFormat::MarkerType

Этот перечисление описывает типы маркеров, которые может иметь элемент списка. Если элемент списка (абзац, для которого QTextBlock::textList() возвращает список) имеет маркер, он отображается вместо обычной точки. Таким образом, элементы списка с возможностью выбора могут быть смешаны с обычными элементами списка в одном списке, переопределяя тип точки, указанный QTextListFormat::style() для всего списка.

Константа Значение Описание
QTextBlockFormat::MarkerType::NoMarker 0 Это значение по умолчанию: отображается маркер элемента списка.
QTextBlockFormat::MarkerType::Unchecked 1 Вместо маркера элемента списка будет показана неотмеченная галочка.
QTextBlockFormat::MarkerType::Checked 2 Вместо маркера элемента списка будет показана отмеченная галочка.

В будущем это может быть расширено для указания других типов декораций абзацев.

Это перечисление было добавлено или изменено в Qt 5.14.

См. также QTextListFormat::style().

Документация по функциям-членам

QTextBlockFormat::QTextBlockFormat()

Создает новый QTextBlockFormat.

Qt::Alignment QTextBlockFormat::alignment() const

Возвращает выравнивание абзаца.

См. также setAlignment().

qreal QTextBlockFormat::bottomMargin() const

Возвращает нижнюю границу абзаца.

См. также setBottomMargin() и topMargin().

[since 5.12] int QTextBlockFormat::headingLevel() const

Возвращает уровень заголовка абзаца, если это заголовок, или 0, если нет.

Эта функция была добавлена в Qt 5.12.

См. также setHeadingLevel().

int QTextBlockFormat::indent() const

Возвращает отступ абзаца.

См. также setIndent().

bool QTextBlockFormat::isValid() const

Возвращает true, если этот формат абзаца корректен; в противном случае возвращает false.

qreal QTextBlockFormat::leftMargin() const

Возвращает левую границу абзаца.

См. также setLeftMargin(), rightMargin() и indent().

qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const

Возвращает высоту строк в абзаце, основанную на высоте строки скрипта, заданной scriptLineHeight, и заданном коэффициенте масштабирования scaling.

Возвращаемое значение также зависит от заданного типа LineHeight абзаца и установленного значения LineHeight для абзаца.

Масштабирование необходимо для высот, включающих фиксированное количество пикселей, чтобы масштабировать их должным образом для печати.

См. также LineHeightTypes, setLineHeight() и lineHeightType().

qreal QTextBlockFormat::lineHeight() const

Возвращает свойство LineHeight для абзаца.

См. также LineHeightTypes, setLineHeight() и lineHeightType().

int QTextBlockFormat::lineHeightType() const

Возвращает свойство LineHeightType абзаца.

См. также LineHeightTypes, setLineHeight() и lineHeight().

[since 5.14] QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

Возвращает маркер абзаца, если он был задан, или NoMarker если нет.

Эта функция была добавлена в Qt 5.14.

См. также setMarker().

bool QTextBlockFormat::nonBreakableLines() const

Возвращает true, если строки абзаца неразрывны; в противном случае возвращает false.

См. также setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Возвращает текущую политику разрыва страницы для абзаца. По умолчанию - QTextFormat::PageBreak_Auto.

См. также setPageBreakPolicy().

qreal QTextBlockFormat::rightMargin() const

Возвращает правую границу абзаца.

См. также setRightMargin() и leftMargin().

void QTextBlockFormat::setAlignment(Qt::Alignment alignment)

Устанавливает выравнивание абзаца.

См. также alignment().

void QTextBlockFormat::setBottomMargin(qreal margin)

Устанавливает нижнюю границу абзаца.

См. также bottomMargin(), setTopMargin(), setLeftMargin() и setRightMargin().

[since 5.12] void QTextBlockFormat::setHeadingLevel(int level)

Устанавливает уровень заголовка абзаца level, где 1 — это заголовок самого высокого уровня (обычно с наибольшим размером шрифта заголовка), а увеличивающиеся значения — это всё более глубокие уровни в документе (и обычно с меньшими размерами шрифтов). Например, при чтении тега HTML H1 уровень заголовка устанавливается в 1. Установка уровня заголовка не изменяет размер шрифта автоматически; однако QTextDocumentFragment::fromHtml() одновременно устанавливает уровень заголовка и размер шрифта.

Если абзац не является заголовком, уровень следует установить в 0 (по умолчанию).

Эта функция была добавлена в Qt 5.12.

См. также headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Устанавливает отступ абзаца indentation. Границы устанавливаются независимо от отступа с помощью setLeftMargin() и setTextIndent(). indentation — целое число, которое умножается на стандартный отступ документа, что приводит к фактическому отступу абзаца.

См. также indent() и QTextDocument::indentWidth().

void QTextBlockFormat::setLeftMargin(qreal margin)

Устанавливает левую границу абзаца margin. Отступ можно применить отдельно с помощью setIndent().

См. также leftMargin(), setRightMargin(), setTopMargin() и setBottomMargin().

void QTextBlockFormat::setLineHeight(qreal height, int heightType)

Устанавливает высоту строки для абзаца в значение, заданное height, которое зависит от heightType способом, описанным в перечислении LineHeightTypes.

См. также LineHeightTypes, lineHeight() и lineHeightType().

[since 5.14] void QTextBlockFormat::setMarker(QTextBlockFormat::MarkerType marker)

Устанавливает тип украшения, которое должно быть отображено рядом с абзацем, в marker. Например, элемент списка может быть украшен галочкой, отмеченной или неотмеченной, вместо точки. По умолчанию NoMarker.

Эта функция была добавлена в Qt 5.14.

См. также marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Если b равно true, строки в абзаце обрабатываются как неразрывные; в противном случае они разрывные.

См. также nonBreakableLines().

void QTextBlockFormat::setPageBreakPolicy(QTextFormat::PageBreakFlags policy)

Устанавливает политику разрыва страницы для абзаца в policy.

См. также pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

Устанавливает правый отступ абзаца.

См. также rightMargin(), setLeftMargin(), setTopMargin() и setBottomMargin().

void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs)

Устанавливает позиции табуляции для текстового блока, заданные в tabs.

См. также tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Устанавливает отступ для первой строки блока. Это позволяет отступать первую строку абзаца по-другому, чем остальные строки, улучшая читаемость текста.

См. также textIndent(), setLeftMargin(), setRightMargin(), setTopMargin() и setBottomMargin().

void QTextBlockFormat::setTopMargin(qreal margin)

Устанавливает верхний отступ абзаца.

См. также topMargin(), setBottomMargin(), setLeftMargin() и setRightMargin().

QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const

Возвращает список позиций табуляции, определенных для текстового блока.

См. также setTabPositions().

qreal QTextBlockFormat::textIndent() const

Возвращает отступ первой строки абзаца.

См. также setTextIndent().

qreal QTextBlockFormat::topMargin() const

Возвращает верхний отступ абзаца.

См. также setTopMargin() и bottomMargin().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtextblockformat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API