Класс QTextBlock
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument. Подробнее...
| Заголовок: | #include <QTextBlock> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются реентерабельными.
Общедоступные типы
| класс | iterator |
| typedef | Iterator |
Общедоступные функции
| QTextBlock(const QTextBlock &other) | |
| QTextBlock & | operator=(const QTextBlock &other) |
| QTextBlock::iterator | begin() const |
| QTextBlockFormat | blockFormat() const |
| int | blockFormatIndex() const |
| int | blockNumber() 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 | length() const |
| int | lineCount() const |
| QTextBlock | next() const |
| int | position() const |
| QTextBlock | previous() const |
| int | revision() const |
| void | setLineCount(int count) |
| void | setRevision(int rev) |
| void | setUserData(QTextBlockUserData *data) |
| void | setUserState(int state) |
| void | setVisible(bool visible) |
| QString | text() const |
| Qt::LayoutDirection | textDirection() 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::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, если блок недействителен.
Эта функция была добавлена в 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 можно изменять только из реализации метода 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.15/qtextblock.html