Класс QTextBlock
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument. Подробнее...
| Заголовок: | #include <QTextBlock> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются перевходоёмкими.
Типы публичного доступа
| класс | итератор |
| typedef | Итератор |
Функции публичного доступа
| QTextBlock(const QTextBlock &other) | |
| QTextBlock & | operator=(const QTextBlock &other) |
| QTextBlock::итератор | begin() const |
| QTextBlockFormat | blockFormat() const |
| int | blockFormatIndex() const |
| int | номерБлока() const |
| QTextCharFormat | charFormat() const |
| int | charFormatIndex() const |
| void | clearLayout() |
| bool | содержит(int position) const |
| const QTextDocument * | document() const |
| QTextBlock::итератор | end() const |
| int | первыйНомерСтроки() 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 | setUserData(QTextBlockUserData *data) |
| void | setUserState(int state) |
| void | setVisible(bool visible) |
| QString | текст() const |
| Qt::LayoutDirection | направлениеТекста() const |
| QVector<QTextLayout::FormatRange> | textFormats() const |
| QTextList * | textList() const |
| QTextBlockUserData * | userData() const |
| int | userState() const |
| bool | operator!=(const QTextBlock &other) const |
| bool | operator<(const QTextBlock &other) const |
| bool | operator==(const QTextBlock &other) const |
Подробное описание
Блок текста инкапсулирует блок или абзац текста в QTextDocument. QTextBlock предоставляет только чтение доступа к структуре блоков/абзацев QTextDocuments. Он в основном полезен, если вы хотите реализовать собственные макеты для визуального представления QTextDocument или если вы хотите перебирать документ и выводить содержимое в собственном пользовательском формате.
Блоки текста создаются родительскими документами. Если вам нужно создать новый блок текста или изменить содержимое документа, просматривая его содержимое, используйте интерфейс на основе курсора, предоставляемый QTextCursor.
Каждый блок текста находится в определенной позиции() в документе. Содержимое блока можно получить с помощью функции text(). Функция length() определяет размер блока в документе (включая символы форматирования). Визуальные свойства блока определяются его макетом layout(), charFormat() и blockFormat().
Функции next() и previous() позволяют перебирать последовательные допустимые блоки в документе при условии, что документ не изменяется другими способами во время процесса итерации. Обратите внимание, что, хотя блоки возвращаются последовательно, смежные блоки могут происходить из разных мест в структуре документа. Допустимость блока можно определить с помощью вызова isValid().
QTextBlock предоставляет операторы сравнения, чтобы упростить работу с блоками: operator==() сравнивает два блока на равенство, operator!=() сравнивает два блока на неравенство, а operator<() определяет, предшествует ли один блок другому в одном и том же документе.
См. также QTextBlockFormat, QTextCharFormat и QTextFragment.
Документация типов членов
typedef QTextBlock::Iterator
Синоним 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, если блок недействителен.
Эта функция была введена в Qt 4.4.
См. также QTextCursor::blockNumber().
QTextCharFormat QTextBlock::charFormat() const
Возвращает QTextCharFormat, описывающий форматирование символов блока. Форматирование символов блока используется при вставке текста в пустой блок.
См. также blockFormat().
int QTextBlock::charFormatIndex() const
Возвращает индекс в внутреннем списке форматов символов документа для формата символов текстового блока.
См. также QTextDocument::allFormats().
void QTextBlock::clearLayout()
Очищает QTextLayout, используемый для вывода содержимого блока.
Эта функция была введена в Qt 4.4.
См. также 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, если блок недействителен. Если компоновщик не поддерживает, номер строки совпадает с номером блока.
Эта функция была введена в Qt 4.5.
См. также QTextBlock::blockNumber().
bool QTextBlock::isValid() const
Возвращает true если этот текстовый блок действителен; в противном случае возвращает false.
bool QTextBlock::isVisible() const
Возвращает true если блок видимый; в противном случае возвращает false.
Эта функция была введена в Qt 4.4.
См. также setVisible().
QTextLayout *QTextBlock::layout() const
Возвращает QTextLayout, используемый для вывода содержимого блока.
Обратите внимание, что возвращаемый объект QTextLayout может быть изменён только из реализации documentChanged подкласса QAbstractTextDocumentLayout. Любые изменения, применённые извне, вызывают неопределённое поведение.
См. также clearLayout().
int QTextBlock::length() const
Возвращает длину блока в символах.
Примечание: Возвращаемая длина включает все символы форматирования, например, переводы строк.
См. также text(), charFormat() и blockFormat().
int QTextBlock::lineCount() const
Возвращает количество строк. Не все компоновщики документов поддерживают эту функцию.
Эта функция была введена в Qt 4.5.
См. также setLineCount().
QTextBlock QTextBlock::next() const
Возвращает текстовый блок в документе после этого блока или пустой текстовый блок, если это последний.
Обратите внимание, что следующий блок может находиться в другом фрейме или таблице, чем этот блок.
См. также previous(), begin() и end().
int QTextBlock::position() const
Возвращает индекс первой строки блока в документе.
QTextBlock QTextBlock::previous() const
Возвращает текстовый блок в документе перед этим блоком или пустой текстовый блок, если это первый.
Обратите внимание, что предыдущий блок может находиться в другом фрейме или таблице, чем этот блок.
См. также next(), begin() и end().
int QTextBlock::revision() const
Возвращает ревизию блока.
Эта функция была введена в Qt 4.4.
См. также setRevision() и QTextDocument::revision().
void QTextBlock::setLineCount(int count)
Устанавливает количество строк в count.
Эта функция была введена в Qt 4.5.
См. также lineCount().
void QTextBlock::setRevision(int rev)
Устанавливает ревизию блока в rev.
Эта функция была введена в Qt 4.4.
См. также revision() и QTextDocument::revision().
void QTextBlock::setUserData(QTextBlockUserData *data)
Присоединяет указанный объект data к текстовому блоку.
QTextBlockUserData может быть использован для хранения пользовательских настроек. Владение передаётся базовому текстовому документу, т.е. предоставленный объект QTextBlockUserData будет удалён, если соответствующий текстовый блок будет удалён. Объект пользовательских данных не сохраняется в истории отмены, поэтому он не будет доступен после отмены удаления текстового блока.
Например, если вы пишете редактор кода в IDE, вы можете позволить пользователю визуально устанавливать точки останова в коде для интегрированного отладчика. В редакторе кода строка текста обычно соответствует одному QTextBlock. Интерфейс QTextBlockUserData позволяет разработчику хранить данные для каждого QTextBlock, например, на каких строках исходного кода установлен пользовательский брейкпоинт. Конечно, это также можно хранить внешне, но хранение внутри QTextDocument обеспечит, например, автоматическое удаление при удалении соответствующей строки. Это просто способ хранить пользовательскую информацию в QTextDocument без использования пользовательских свойств в QTextFormat, что повлияет на стек отмены/повторной отмены.
Эта функция была введена в Qt 4.1.
См. также userData().
void QTextBlock::setUserState(int state)
Хранит указанное целое значение state в текстовом блоке. Это может быть полезно, например, в синтаксическом выделении для хранения состояния разбора текста.
Эта функция была введена в Qt 4.1.
См. также userState().
void QTextBlock::setVisible(bool visible)
Устанавливает видимость блока в visible.
Эта функция была введена в Qt 4.4.
См. также isVisible().
QString QTextBlock::text() const
Возвращает содержимое блока как обычный текст.
См. также length(), charFormat() и blockFormat().
Qt::LayoutDirection QTextBlock::textDirection() const
Возвращает разрешённое направление текста.
Если для блока не задано явного направления, направление будет определено по содержанию блока. Возвращает либо Qt::LeftToRight, либо Qt::RightToLeft.
Эта функция была введена в Qt 4.7.
См. также QTextFormat::layoutDirection(), QString::isRightToLeft() и Qt::LayoutDirection.
QVector<QTextLayout::FormatRange> QTextBlock::textFormats() const
Возвращает параметры форматирования текста блока в виде списка непрерывных диапазонов QTextCharFormat. Формат символов диапазона используется при вставке текста в пределах границ диапазона.
Эта функция была введена в Qt 5.3.
См. также charFormat() и blockFormat().
QTextList *QTextBlock::textList() const
Если блок представляет элемент списка, возвращает список, к которому принадлежит элемент; в противном случае возвращает nullptr.
QTextBlockUserData *QTextBlock::userData() const
Возвращает указатель на объект QTextBlockUserData, если он был задан с помощью setUserData(), или nullptr.
Эта функция была введена в Qt 4.1.
См. также setUserData().
int QTextBlock::userState() const
Возвращает целое значение, ранее установленное с помощью setUserState(), или -1.
Эта функция была добавлена в Qt 4.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-5.13/qtextblock.html