Класс QTextBlock
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument. Подробнее...
| Заголовок: | #include <QTextBlock> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются перезаписываемыми.
Открытые типы
| класс | итератор |
| typedef | Итератор |
Открытые функции
| QTextBlock(const QTextBlock &other) | |
| QTextBlock::итератор | 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::итератор | 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 | setКоличествоСтрок(int count) |
| void | setРевизия(int rev) |
| void | setUserData(QTextBlockUserData *data) |
| void | setUserState(int state) |
| void | setVisible(bool visible) |
| QString | текст() const |
| Qt::LayoutDirection | направление_текста() const |
| QVector<QTextLayout::FormatRange> | форматы_текста() const |
| QTextList * | список_текста() const |
| QTextBlockUserData * | userData() const |
| int | userState() const |
| bool | operator!=(const QTextBlock &other) const |
| bool | operator<(const QTextBlock &other) const |
| QTextBlock & | operator=(const QTextBlock &other) |
| bool | operator==(const QTextBlock &other) const |
Подробное описание
Класс QTextBlock предоставляет контейнер для фрагментов текста в QTextDocument.
Блок текста содержит блок или абзац текста в QTextDocument. QTextBlock обеспечивает только чтение доступа к структуре блоков/абзацев QTextDocuments. Он главным образом используется, если вы хотите реализовать собственные макеты для визуального представления QTextDocument, или если вы хотите перебирать документ и выводить содержимое в собственном пользовательском формате.
Блоки текста создаются их родительскими документами. Если вам нужно создать новый блок текста или изменить содержимое документа во время его просмотра, используйте интерфейс на основе курсора, предоставляемый классом QTextCursor.
Каждый блок текста расположен в определённой позиции() в документе(). Содержимое блока можно получить, используя функцию текст(). Функция длина() определяет размер блока в документе (включая символы форматирования). Визуальные свойства блока определяются его макетом layout(), его charFormat() и его blockFormat().
Функции следующий() и предыдущий() позволяют итерироваться по последовательным допустимым блокам в документе при условии, что документ не изменяется другими средствами во время итерации. Обратите внимание, что, хотя блоки возвращаются последовательно, соседние блоки могут исходить из разных частей структуры документа. Допустимость блока можно определить, вызвав функцию isValid().
QTextBlock предоставляет операторы сравнения, чтобы облегчить работу с блоками: operator==() сравнивает два блока на равенство, operator!=() сравнивает два блока на неравенство, и operator<() определяет, предшествует ли один блок другому в том же документе.
См. также QTextBlockFormat, QTextCharFormat и QTextFragment.
Документация по типам членов
typedef QTextBlock::Итератор
Синоним Qt-стиля для QTextBlock::итератор.
Документация по функциям членов
QTextBlock::QTextBlock(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
Возвращает документ, к которому принадлежит этот текстовый блок, или 0, если текстовый блок не принадлежит ни одному документу.
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(), или нулевой указатель.
Эта функция была добавлена в 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 в документе.
QTextBlock &QTextBlock::operator=(const QTextBlock &other)
Присваивает блок текста 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.12/qtextblock.html