Класс QTextBlock
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument. Подробнее...
| Заголовок: | #include <QTextBlock> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются реентерабельными.
Типы публичного доступа
| класс | итератор |
| Итератор |
Функции публичного доступа
| QTextBlock(const QTextBlock &other) | |
| QTextBlock & | operator=(const QTextBlock &other) |
| QTextBlock::iterator | begin() const |
| QTextBlockFormat | blockFormat() const |
| int | blockFormatIndex() const |
| int | номер блока() const |
| QTextCharFormat | charFormat() const |
| int | индексCharFormat() const |
| void | очиститьМакет() |
| bool | содержит(int position) const |
| const QTextDocument * | документ() const |
| QTextBlock::iterator | end() const |
| int | первыйНомерСтроки() const |
| bool | isValid() const |
| bool | видимый() const |
| QTextLayout * | макет() const |
| int | длина() const |
| int | количествоСтрок() const |
| QTextBlock | следующий() const |
| int | позиция() const |
| QTextBlock | предыдущий() const |
| int | ревизия() const |
| void | установитьКоличествоСтрок(int count) |
| void | установитьРевизию(int rev) |
| void | установитьПользовательскиеДанные(QTextBlockUserData *data) |
| void | установитьСостояниеПользователя(int state) |
| void | установитьВидимость(bool visible) |
| QString | текст() const |
| Qt::LayoutDirection | направлениеТекста() const |
| QList<QTextLayout::FormatRange> | форматыТекста() const |
| QTextList * | списокТекста() const |
| QTextBlockUserData * | пользовательскиеДанные() const |
| int | состояниеПользователя() const |
| bool | operator!=(const QTextBlock &other) const |
| bool | operator<(const QTextBlock &other) const |
| bool | operator==(const QTextBlock &other) const |
Подробное описание
Блок текста инкапсулирует блок или абзац текста в QTextDocument. QTextBlock предоставляет только чтение доступа к структуре блоков/абзацев QTextDocuments. Он в основном используется, если вы хотите реализовать собственные макеты для визуального представления QTextDocument или если вы хотите проитерироваться по документу и вывести содержимое в собственном пользовательском формате.
Блоки текста создаются родительскими документами. Если вам нужно создать новый блок текста или изменить содержимое документа во время его просмотра, используйте интерфейс на основе курсора, предоставляемый QTextCursor.
Каждый блок текста находится в определенной позиции() в документе(). Содержимое блока можно получить, используя функцию текст(). Функция длина() определяет размер блока в документе (включая символы форматирования). Визуальные свойства блока определяются его текстовым макетом(), его charFormat() и его blockFormat().
Функции следующий() и предыдущий() позволяют итерироваться по последовательным допустимым блокам в документе при условии, что документ не изменяется другими способами во время процесса итерации. Обратите внимание, что, хотя блоки возвращаются последовательно, смежные блоки могут поступать из разных частей структуры документа. Допустимость блока можно определить, вызвав isValid().
QTextBlock предоставляет операторы сравнения, чтобы упростить работу с блоками: operator==() сравнивает два блока на равенство, operator!=() сравнивает два блока на неравенство, а operator<() определяет, предшествует ли один блок другому в том же документе.
См. также QTextBlockFormat, QTextCharFormat и QTextFragment.
Документация типов членов
QTextBlock::Итератор
Синоним Qt-стиля для QTextBlock::итератор.
Документация функций членов
QTextBlock::QTextBlock(const QTextBlock &other)
Копирует атрибуты other блока текста в этот блок текста.
QTextBlock &QTextBlock::operator=(const QTextBlock &other)
Присваивает other блок текста этому блоку текста.
QTextBlock::итератор QTextBlock::begin() const
Возвращает итератор блока текста, указывающий на начало блока текста.
См. также end().
QTextBlockFormat QTextBlock::blockFormat() const
Возвращает QTextBlockFormat, описывающий свойства, относящиеся к блоку.
См. также charFormat().
int QTextBlock::blockFormatIndex() const
Возвращает индекс в внутреннем списке форматов блоков документа для формата текстового блока.
См. также QTextDocument::allFormats().
int QTextBlock::blockNumber() const
Возвращает номер этого блока или -1, если блок недействителен.
См. также QTextCursor::blockNumber().
QTextCharFormat QTextBlock::charFormat() const
Возвращает QTextCharFormat, описывающую формат символов блока. Формат символов блока используется при вставке текста в пустой блок.
См. также blockFormat().
int QTextBlock::charFormatIndex() const
Возвращает индекс в внутреннем списке форматов символов документа для формата символов текстового блока.
См. также QTextDocument::allFormats().
void QTextBlock::clearLayout()
Очищает QTextLayout, используемый для вывода содержимого блока.
См. также layout().
bool QTextBlock::contains(int position) const
Возвращает true если заданное position расположено внутри текстового блока; в противном случае возвращает false.
const QTextDocument *QTextBlock::document() const
Возвращает текстовый документ, к которому принадлежит этот текстовый блок, или nullptr если текстовый блок не принадлежит ни одному документу.
QTextBlock::iterator QTextBlock::end() const
Возвращает итератор текстового блока, указывающий на конец текстового блока.
См. также begin(), next() и previous().
int QTextBlock::firstLineNumber() const
Возвращает номер первой строки этого блока или -1, если блок недействителен. Если макет этого не поддерживает, номер строки совпадает с номером блока.
См. также QTextBlock::blockNumber().
bool QTextBlock::isValid() const
Возвращает true если этот текстовый блок действителен; в противном случае возвращает false.
bool QTextBlock::isVisible() const
Возвращает true если блок отображается; в противном случае возвращает false.
См. также setVisible().
QTextLayout *QTextBlock::layout() const
Возвращает QTextLayout, используемый для вывода содержимого блока.
Обратите внимание, что возвращаемый объект QTextLayout может быть изменён только в реализации метода documentChanged подкласса QAbstractTextDocumentLayout. Любые изменения, применённые извне, приводят к неопределённому поведению.
См. также clearLayout().
int QTextBlock::length() const
Возвращает длину блока в символах.
Примечание: Возвращаемая длина включает все символы форматирования, например, переводы строк.
См. также text(), charFormat() и blockFormat().
int QTextBlock::lineCount() const
Возвращает количество строк. Не все макеты документов поддерживают эту функцию.
См. также setLineCount().
QTextBlock QTextBlock::next() const
Возвращает текстовый блок в документе после этого блока, или пустой текстовый блок, если это последний.
Обратите внимание, что следующий блок может находиться в другой рамке или таблице по сравнению с этим блоком.
См. также previous(), begin() и end().
int QTextBlock::position() const
Возвращает индекс первого символа блока в документе.
QTextBlock QTextBlock::previous() const
Возвращает текстовый блок в документе перед этим блоком, или пустой текстовый блок, если это первый.
Обратите внимание, что предыдущий блок может находиться в другой рамке или таблице по сравнению с этим блоком.
См. также next(), begin() и end().
int QTextBlock::revision() const
Возвращает ревизию блока.
См. также setRevision() и QTextDocument::revision().
void QTextBlock::setLineCount(int count)
Устанавливает количество строк в count.
См. также lineCount().
void QTextBlock::setRevision(int rev)
Устанавливает ревизию блока в rev.
См. также revision() и QTextDocument::revision().
void QTextBlock::setUserData(QTextBlockUserData *data)
Прикрепляет указанный объект data к текстовому блоку.
QTextBlockUserData может использоваться для хранения пользовательских настроек. Владение передаётся основному документу, то есть предоставленный объект QTextBlockUserData будет удалён, если соответствующий текстовый блок будет удалён. Объект пользовательских данных не сохраняется в истории отмены, поэтому он не будет доступен после отмены удаления текстового блока.
Например, если вы пишете редактор кода в IDE, вы можете позволить пользователю визуально устанавливать точки останова в вашем коде для интегрированного отладчика. В редакторе кода строка текста обычно соответствует одному QTextBlock. Интерфейс QTextBlockUserData позволяет разработчику хранить данные для каждого QTextBlock, например, в каких строках исходного кода пользователь установил точку останова. Конечно, это также можно хранить внешне, но хранение внутри QTextDocument позволяет автоматически удалять его, например, при удалении соответствующей строки. Это просто способ хранить пользовательские данные в QTextDocument без использования пользовательских свойств в QTextFormat, которые повлияют на стек отмены/повторной обработки.
См. также userData().
void QTextBlock::setUserState(int state)
Хранит указанное целое значение state в текстовом блоке. Это может быть полезно, например, в синтаксическом выделителе для хранения состояния разбора текста.
См. также userState().
void QTextBlock::setVisible(bool visible)
Устанавливает видимость блока в visible.
См. также isVisible().
QString QTextBlock::text() const
Возвращает содержимое блока в виде простого текста.
См. также length(), charFormat() и blockFormat().
Qt::LayoutDirection QTextBlock::textDirection() const
Возвращает результирующее направление текста.
Если для блока не задано явного направления, оно определяется из содержимого блока. Возвращает либо Qt::LeftToRight, либо Qt::RightToLeft.
См. также QTextFormat::layoutDirection(), QString::isRightToLeft() и Qt::LayoutDirection.
[since 5.3] QList<QTextLayout::FormatRange> QTextBlock::textFormats() const
Возвращает параметры формата текста блока в виде списка непрерывных диапазонов QTextCharFormat. Формат символов диапазона используется при вставке текста в пределах границ диапазона.
Эта функция была добавлена в Qt 5.3.
См. также charFormat() и blockFormat().
QTextList *QTextBlock::textList() const
Если блок представляет собой элемент списка, возвращает список, к которому принадлежит элемент; в противном случае возвращает nullptr.
QTextBlockUserData *QTextBlock::userData() const
Возвращает указатель на объект QTextBlockUserData, если он был установлен с помощью setUserData(), или nullptr.
См. также setUserData().
int QTextBlock::userState() const
Возвращает целое значение, ранее установленное с помощью setUserState(), или -1.
См. также setUserState().
bool QTextBlock::operator!=(const QTextBlock &other) const
Возвращает true если этот блок текста отличается от блока текста other.
bool QTextBlock::operator<(const QTextBlock &other) const
Возвращает true если этот блок текста встречается перед блоком текста other в документе.
bool QTextBlock::operator==(const QTextBlock &other) const
Возвращает true если этот блок текста такой же, как блок текста other.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtextblock.html