Класс 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 | charFormatIndex() const |
| void | clearLayout() |
| bool | contains(int position) const |
| const QTextDocument * | document() const |
| QTextBlock::iterator | end() const |
| int | firstLineNumber() const |
| bool | isValid() const |
| bool | isVisible() const |
| QTextLayout * | layout() 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 |
Подробное описание
Блок текста encapsulates блок или абзац текста в QTextDocument. QTextBlock предоставляет только чтение доступа к структуре блоков/абзацев QTextDocuments. Он используется в основном, если вы хотите реализовать собственные макеты для визуального представления QTextDocument, или если вы хотите пройти по документу и вывести содержимое в собственном пользовательском формате.
Блоки текста создаются родительскими документами. Если вам нужно создать новый блок текста или изменить содержимое документа во время его просмотра, используйте интерфейс на основе курсора, предоставляемый QTextCursor.
Каждый блок текста расположен в определенной позиции() в документе(). Содержимое блока можно получить, используя функцию текст(). Функция длина() определяет размер блока в документе (включая символы форматирования). Визуальные свойства блока определяются его макетом layout(), его charFormat() и его blockFormat().
Функции следующий() и предыдущий() позволяют переходить по последовательным допустимым блокам в документе при условии, что документ не изменяется другими способами во время процесса перехода. Обратите внимание, что, хотя блоки возвращаются последовательно, соседние блоки могут происходить из разных мест в структуре документа. Допустимость блока можно определить, вызвав isValid().
QTextBlock предоставляет операторы сравнения, чтобы облегчить работу с блоками: operator==() сравнивает два блока на равенство, operator!=() сравнивает два блока на неравенство, а operator<() определяет, предшествует ли блок другому в том же документе.
См. также QTextBlockFormat, QTextCharFormat и QTextFragment.
Документация по типам членов
QTextBlock::Итератор
Синоним Qt-стиля для QTextBlock::iterator.
Документация по функциям членов
QTextBlock::QTextBlock(const QTextBlock &other)
Копирует атрибуты блока other в этот блок текста.
QTextBlock &QTextBlock::operator=(const QTextBlock &other)
Присваивает блок текста other этому блоку текста.
QTextBlock::iterator 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.1/qtextblock.html