Класс QTextDocument
Класс QTextDocument хранит форматированный текст. Подробнее...
| Заголовок: | #include <QTextDocument> |
| qmake: | QT += gui |
| Наследуется от: | QObject |
Примечание: Все функции в этом классе являются взаимоисключающими.
Типы
| перечисление | FindFlag { FindBackward, FindCaseSensitively, FindWholeWords } |
| флаги | FindFlags |
| перечисление | MetaInformation { DocumentTitle, DocumentUrl } |
| перечисление | ResourceType { HtmlResource, ImageResource, StyleSheetResource, UserResource } |
| перечисление | Stacks { UndoStack, RedoStack, UndoAndRedoStacks } |
Свойства
|
|
Публичные функции
| QTextDocument(const QString &text, QObject *parent = nullptr) | |
| QTextDocument(QObject *parent = nullptr) | |
| virtual | ~QTextDocument() |
| void | addResource(int type, const QUrl &name, const QVariant &resource) |
| void | adjustSize() |
| QVector<QTextFormat> | allFormats() const |
| int | availableRedoSteps() const |
| int | availableUndoSteps() const |
| QUrl | baseUrl() const |
| QTextBlock | begin() const |
| int | blockCount() const |
| QChar | characterAt(int pos) const |
| int | characterCount() const |
| virtual void | clear() |
| void | clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks) |
| QTextDocument * | clone(QObject *parent = nullptr) const |
| Qt::CursorMoveStyle | defaultCursorMoveStyle() const |
| QFont | defaultFont() const |
| QString | defaultStyleSheet() const |
| QTextOption | defaultTextOption() const |
| QAbstractTextDocumentLayout * | documentLayout() const |
| qreal | documentMargin() const |
| void | drawContents(QPainter *p, const QRectF &rect = QRectF()) |
| QTextBlock | end() const |
| QTextCursor | find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegExp &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextBlock | findBlock(int pos) const |
| QTextBlock | findBlockByLineNumber(int lineNumber) const |
| QTextBlock | findBlockByNumber(int blockNumber) const |
| QTextBlock | firstBlock() const |
| qreal | idealWidth() const |
| qreal | indentWidth() const |
| bool | isEmpty() const |
| bool | isModified() const |
| bool | isRedoAvailable() const |
| bool | isUndoAvailable() const |
| bool | isUndoRedoEnabled() const |
| QTextBlock | lastBlock() const |
| int | lineCount() const |
| void | markContentsDirty(int position, int length) |
| int | maximumBlockCount() const |
| QString | metaInformation(QTextDocument::MetaInformation info) const |
| QTextObject * | object(int objectIndex) const |
| QTextObject * | objectForFormat(const QTextFormat &f) const |
| int | pageCount() const |
| QSizeF | pageSize() const |
| void | print(QPagedPaintDevice *printer) const |
| void | redo(QTextCursor *cursor) |
| QVariant | resource(int type, const QUrl &name) const |
| int | revision() const |
| QTextFrame * | rootFrame() const |
| void | setBaseUrl(const QUrl &url) |
| void | setDefaultCursorMoveStyle(Qt::CursorMoveStyle style) |
| void | setDefaultFont(const QFont &font) |
| void | setDefaultStyleSheet(const QString &sheet) |
| void | setDefaultTextOption(const QTextOption &option) |
| void | setDocumentLayout(QAbstractTextDocumentLayout *layout) |
| void | setDocumentMargin(qreal margin) |
| void | setHtml(const QString &html) |
| void | setIndentWidth(qreal width) |
| void | setMaximumBlockCount(int maximum) |
| void | setMetaInformation(QTextDocument::MetaInformation info, const QString &string) |
| void | setPageSize(const QSizeF &size) |
| void | setPlainText(const QString &text) |
| void | setTextWidth(qreal width) |
| void | setUndoRedoEnabled(bool enable) |
| void | setUseDesignMetrics(bool b) |
| QSizeF | size() const |
| qreal | textWidth() const |
| QString | toHtml(const QByteArray &encoding = QByteArray()) const |
| QString | toPlainText() const |
| QString | toRawText() const |
| void | undo(QTextCursor *cursor) |
| bool | useDesignMetrics() const |
Открытые слоты
| void | redo() |
| void | setModified(bool m = true) |
| void | undo() |
Сигналы
| void | baseUrlChanged(const QUrl &url) |
| void | blockCountChanged(int newBlockCount) |
| void | contentsChange(int position, int charsRemoved, int charsAdded) |
| void | contentsChanged() |
| void | cursorPositionChanged(const QTextCursor &cursor) |
| void | documentLayoutChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | undoAvailable(bool available) |
| void | undoCommandAdded() |
Защищенные функции
| virtual QTextObject * | createObject(const QTextFormat &format) |
| virtual QVariant | loadResource(int type, const QUrl &name) |
Подробное описание
QTextDocument — это контейнер для структурированных документов форматированного текста, обеспечивающий поддержку стилизованного текста и различных типов элементов документа, таких как списки, таблицы, фреймы и изображения. Их можно создавать для использования в QTextEdit или использовать независимо.
Каждый элемент документа описывается связанным объектом форматирования. Каждый объект форматирования обрабатывается QTextDocuments как уникальный объект и может быть передан objectForFormat(), чтобы получить элемент документа, к которому он применяется.
QTextDocument может быть отредактирован программно с помощью QTextCursor, а его содержимое может быть исследовано путём обхода структуры документа. Вся структура документа хранится как иерархия элементов документа под корневым фреймом, который можно найти с помощью функции rootFrame(). В качестве альтернативы, если вы просто хотите итерироваться по текстовому содержимому документа, вы можете использовать begin(), end() и findBlock(), чтобы получить текстовые блоки, которые можно изучать и по которым можно итерироваться.
Макет документа определяется documentLayout(); вы можете создать свой собственный подкласс QAbstractTextDocumentLayout и задать его с помощью setDocumentLayout(), если хотите использовать собственную логику макета. Заголовок документа и другая метаинформация могут быть получены вызовом функции metaInformation(). Для документов, которые отображаются пользователям через класс QTextEdit, заголовок документа также доступен через функцию QTextEdit::documentTitle().
Удобные функции toPlainText() и toHtml() позволяют получить содержимое документа в виде простого текста и HTML. Текст документа можно искать с помощью функций find().
Отмену/повтор операций, выполненных над документом, можно контролировать с помощью функции setUndoRedoEnabled(). Систему отмены/повтора можно контролировать с помощью виджета редактора с помощью слотов undo() и redo(); документ также предоставляет сигналы contentsChanged(), undoAvailable() и redoAvailable(), которые информируют подключенные виджеты редактора о состоянии системы отмены/повтора. Ниже перечислены операции отмены/повтора в QTextDocument:
- Вставка или удаление символов. Последовательность вставок или удалений в пределах одного блока текста рассматривается как одна операция отмены/повтора.
- Вставка или удаление блоков текста. Последовательности вставок или удалений в одной операции (например, при выделении и удалении текста) рассматриваются как одна операция отмены/повтора.
- Изменения формата символов текста.
- Изменения формата блоков текста.
- Изменения формата группы блоков текста.
См. также QTextCursor, QTextEdit, Обработка форматированного текста и Пример объекта текста.
Документация типов членов
enum QTextDocument::FindFlagflags QTextDocument::FindFlags
Этот перечисление описывает параметры, доступные для функции поиска QTextDocument. Параметры могут быть объединены с помощью операции ИЛИ из следующего списка:
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::FindBackward |
0x00001 |
Искать в обратном направлении вместо прямого. |
QTextDocument::FindCaseSensitively |
0x00002 |
По умолчанию поиск выполняется без учета регистра. Указание этого параметра изменяет поведение на поиск с учетом регистра. |
QTextDocument::FindWholeWords |
0x00004 |
Выполнять поиск только полных слов. |
Тип FindFlags является псевдонимом для QFlags<FindFlag>. Он хранит логическое ИЛИ сочетание значений FindFlag.
enum QTextDocument::MetaInformation
Этот перечисление описывает различные типы метаданных, которые можно добавить в документ.
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::DocumentTitle |
0 |
Название документа. |
QTextDocument::DocumentUrl |
1 |
URL документа. Функция loadResource() использует этот URL в качестве базового при загрузке относительных ресурсов. |
См. также metaInformation() и setMetaInformation().
enum QTextDocument::ResourceType
Это перечисление описывает типы ресурсов, которые могут быть загружены функцией QTextDocument's loadResource().
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::HtmlResource |
1 |
Ресурс содержит HTML. |
QTextDocument::ImageResource |
2 |
Ресурс содержит данные изображения. В настоящее время поддерживаются типы данных QVariant::Pixmap и QVariant::Image. Если соответствующий вариант имеет тип QVariant::ByteArray, Qt пытается загрузить изображение с помощью QImage::loadFromData. QVariant::Icon в настоящее время не поддерживается. Необходимо сначала преобразовать значок в один из поддерживаемых типов, например, используя QIcon::pixmap. |
QTextDocument::StyleSheetResource |
3 |
Ресурс содержит CSS. |
QTextDocument::UserResource |
100 |
Первое доступное значение для типов ресурсов, определенных пользователем. |
См. также loadResource().
enum QTextDocument::Stacks
| Постоянная | Значение | Описание |
|---|---|---|
QTextDocument::UndoStack |
0x01 |
Стек отмены. |
QTextDocument::RedoStack |
0x02 |
Стек повторного выполнения. |
QTextDocument::UndoAndRedoStacks |
UndoStack | RedoStack |
И стек отмены, и стек повторного выполнения. |
Документация по свойствам
baseUrl : QUrl
Это свойство хранит базовый URL, используемый для разрешения относительных URL-адресов ресурсов в документе.
URL-адреса ресурсов разрешаются в той же директории, что и целевой объект базового URL-адреса, а любая часть пути после последнего '/' будет игнорироваться.
| Базовый URL | Относительный URL | Разрешённый URL |
|---|---|---|
| file:///path/to/content | images/logo.png | file:///path/to/images/logo.png |
| file:///path/to/content/ | images/logo.png | file:///path/to/content/images/logo.png |
| file:///path/to/content/index.html | images/logo.png | file:///path/to/content/images/logo.png |
| file:///path/to/content/images/ | ../images/logo.png | file:///path/to/content/images/logo.png |
Это свойство было добавлено в Qt 5.3.
Функции доступа:
| QUrl | baseUrl() const |
| void | setBaseUrl(const QUrl &url) |
Сигнал уведомления:
| void | baseUrlChanged(const QUrl &url) |
blockCount : const int
Возвращает количество текстовых блоков в документе.
Значение этого свойства не определено в документах с таблицами или фреймами.
По умолчанию, если определено, это свойство содержит значение 1.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | blockCount() const |
См. также lineCount() и characterCount().
defaultFont : QFont
Это свойство хранит шрифт по умолчанию, используемый для отображения текста документа.
Функции доступа:
| QFont | defaultFont() const |
| void | setDefaultFont(const QFont &font) |
defaultStyleSheet : QString
Таблица стилей по умолчанию применяется ко всему новому HTML-форматированному тексту, который вставляется в документ, например, с помощью setHtml() или QTextCursor::insertHtml().
Таблица стилей должна соответствовать синтаксису CSS 2.1.
Примечание: Изменение таблицы стилей по умолчанию не оказывает никакого влияния на существующее содержимое документа.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| QString | defaultStyleSheet() const |
| void | setDefaultStyleSheet(const QString &sheet) |
См. также Supported HTML Subset.
defaultTextOption : QTextOption
Это свойство хранит параметр текста по умолчанию, который будет установлен для всех QTextLayout в документе.
Когда создаются QTextBlock, defaultTextOption устанавливается на их QTextLayout. Это позволяет устанавливать глобальные свойства для документа, такие как режим переноса слов по умолчанию.
Функции доступа:
| QTextOption | defaultTextOption() const |
| void | setDefaultTextOption(const QTextOption &option) |
documentMargin : qreal
Поля вокруг документа. Значение по умолчанию — 4.
Это свойство было добавлено в Qt 4.5.
Функции доступа:
| qreal | documentMargin() const |
| void | setDocumentMargin(qreal margin) |
indentWidth : qreal
Возвращает ширину, используемую для отступа списка текста и текстового блока.
Свойства отступа QTextListFormat и QTextBlockFormat указывают кратные этому значению. Ширина отступа по умолчанию — 40.
Это свойство было добавлено в Qt 4.4.
Функции доступа:
| qreal | indentWidth() const |
| void | setIndentWidth(qreal width) |
maximumBlockCount : int
Указывает лимит для блоков в документе.
Указывает максимальное количество блоков, которые может иметь документ. Если в документе больше блоков, чем указано в этом свойстве, блоки удаляются из начала документа.
Отрицательное или нулевое значение указывает, что документ может содержать неограниченное количество блоков.
Значение по умолчанию равно 0.
Обратите внимание, что установка этого свойства немедленно применит лимит к содержимому документа.
Установка этого свойства также отключает историю отмены и повтора.
Это свойство не определено в документах с таблицами или фреймами.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
modified : bool
Это свойство хранит информацию о том, был ли документ изменён пользователем.
По умолчанию, это свойство равно false.
Функции доступа:
| bool | isModified() const |
| void | setModified(bool m = true) |
См. также modificationChanged().
pageSize : QSizeF
Это свойство хранит размер страницы, который должен использоваться для компоновки документа.
Единицы измерения определяются базовым устройством отрисовки. Размер измеряется в логических пикселях при рисовании на экране и в пунктах (1/72 дюйма) при рисовании на принтере.
По умолчанию, для нового, пустого документа, это свойство содержит неопределённый размер.
Функции доступа:
| QSizeF | pageSize() const |
| void | setPageSize(const QSizeF &size) |
См. также modificationChanged().
size : const QSizeF
Возвращает фактический размер документа. Это эквивалентно documentLayout()->documentSize();
Размер документа можно изменить, установив ширину текста или установив весь размер страницы.
Обратите внимание, что ширина всегда >= pageSize().width().
По умолчанию, для нового, пустого документа, это свойство содержит размер, зависящий от конфигурации.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| QSizeF | size() const |
См. также setTextWidth(), setPageSize(), и idealWidth().
textWidth : qreal
Ширина текста указывает предпочтительную ширину для текста в документе. Если текст (или содержимое в целом) шире, чем указано, он разбивается на несколько строк и растёт по вертикали. Если текст не может быть разбит на несколько строк, чтобы поместиться в указанную ширину текста, он будет больше, и свойства size() и idealWidth() будут это отражать.
Если ширина текста установлена в -1, текст не будет разбиваться на несколько строк, если только это не будет сделано явно с помощью символа перевода строки или нового абзаца.
Значение по умолчанию равно -1.
Установка ширины текста также устанавливает высоту страницы в -1, что заставляет документ увеличиваться или уменьшаться в вертикальном направлении непрерывным образом. Если вы хотите, чтобы макет документа разбил текст на несколько страниц, то вам необходимо установить свойство pageSize вместо этого.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| qreal | textWidth() const |
| void | setTextWidth(qreal width) |
См. также size(), idealWidth() и pageSize().
undoRedoEnabled : bool
Это свойство определяет, включены ли операции отмены/повтора для данного документа.
По умолчанию равно true. Если отключено, стек отмены очищается, и никакие элементы не будут добавлены в него.
Функции доступа:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
useDesignMetrics : bool
Это свойство определяет, использует ли документ метрики дизайна шрифтов для повышения точности верстки текста.
Если это свойство установлено в true, верстка будет использовать метрики дизайна. В противном случае будут использоваться метрики устройства отрисовки, установленные в QAbstractTextDocumentLayout::setPaintDevice().
Использование метрик дизайна позволяет верстке иметь ширину, которая больше не зависит от кернинга и округления пикселей. Это означает, что верстка текста WYSIWYG становится возможной, поскольку ширина масштабируется гораздо линейнее, основываясь на метриках устройства отрисовки, чем в противном случае.
По умолчанию это свойство равно false.
Это свойство было добавлено в Qt 4.1.
Функции доступа:
| bool | useDesignMetrics() const |
| void | setUseDesignMetrics(bool b) |
Документация по функциям-членам
QTextDocument::QTextDocument(const QString &text, QObject *parent = nullptr)
Создаёт объект QTextDocument, содержащий указанный обычный (неформатированный) текст text и имеющий указанного родителя parent.
QTextDocument::QTextDocument(QObject *parent = nullptr)
Создаёт пустой объект QTextDocument с указанным родителем parent.
[signal] void QTextDocument::blockCountChanged(int newBlockCount)
Этот сигнал излучается при изменении общего числа блоков текста в документе. Передаваемое значение newBlockCount — новое общее количество.
Эта функция была добавлена в Qt 4.3.
[signal] void QTextDocument::contentsChange(int position, int charsRemoved, int charsAdded)
Этот сигнал излучается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или применении форматирования.
Предоставляется информация о позиции символа в документе, где произошло изменение (position), количестве удалённых символов (charsRemoved) и количестве добавленных символов (charsAdded).
Сигнал излучается до того, как менеджер верстки документа получит уведомление об изменении. Этот хук позволяет вам реализовать подсветку синтаксиса для документа.
См. также QAbstractTextDocumentLayout::documentChanged() и contentsChanged().
[signal] void QTextDocument::contentsChanged()
Этот сигнал излучается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или применении форматирования.
См. также contentsChange().
[signal] void QTextDocument::cursorPositionChanged(const QTextCursor &cursor)
Этот сигнал излучается всякий раз, когда позиция курсора изменяется в результате операции редактирования. Изменённый курсор передаётся в cursor. Если документ используется с классом QTextEdit, и вам нужен сигнал при перемещении курсора с помощью клавиш со стрелками, вы можете использовать сигнал cursorPositionChanged() в QTextEdit.
[signal] void QTextDocument::documentLayoutChanged()
Этот сигнал излучается при установке новой верстки документа.
Эта функция была добавлена в Qt 4.4.
См. также setDocumentLayout().
[signal] void QTextDocument::modificationChanged(bool changed)
Этот сигнал излучается всякий раз, когда содержимое документа изменяется таким образом, что влияет на состояние модификации. Если changed равно true, документ был изменён; в противном случае — false.
Например, вызов setModified(false) для документа и последующая вставка текста приводит к излучению сигнала. Если вы отменяете эту операцию, возвращая документ в его исходное немодифицированное состояние, сигнал будет излучен снова.
[slot] void QTextDocument::redo()
Это перегруженная функция.
Повторяет последнюю операцию редактирования в документе, если операция повтора доступна.
[signal] void QTextDocument::redoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции повтора становятся доступными (available равно true) или недоступными (available равно false).
[slot] void QTextDocument::undo()
Это перегруженная функция.
[signal] void QTextDocument::undoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
См. документацию Qt Undo Framework для получения подробной информации.
См. также undo() и isUndoRedoEnabled().
[signal] void QTextDocument::undoCommandAdded()
Этот сигнал излучается каждый раз, когда добавляется новый уровень отмены в QTextDocument.
Эта функция была добавлена в Qt 4.4.
[virtual] QTextDocument::~QTextDocument()
Удаляет документ.
void QTextDocument::addResource(int type, const QUrl &name, const QVariant &resource)
Добавляет ресурс resource в кэш ресурсов, используя type и name в качестве идентификаторов. type должен быть значением из QTextDocument::ResourceType.
Например, вы можете добавить изображение как ресурс, чтобы ссылаться на него внутри документа:
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image)); Изображение можно вставить в документ с помощью API QTextCursor:
QTextImageFormat imageFormat;
imageFormat.setName("mydata://image.png");
cursor.insertImage(imageFormat); В качестве альтернативы, вы можете вставлять изображения, используя HTML-тег img:
editor->append("<img src=\"mydata://image.png\" />"); void QTextDocument::adjustSize()
Настраивает размер документа до разумного значения.
Эта функция была добавлена в Qt 4.2.
См. также idealWidth(), textWidth и size.
QVector<QTextFormat> QTextDocument::allFormats() const
Возвращает вектор форматов текста для всех форматов, используемых в документе.
int QTextDocument::availableRedoSteps() const
Возвращает количество доступных шагов повтора.
Эта функция была добавлена в Qt 4.6.
См. также isRedoAvailable().
int QTextDocument::availableUndoSteps() const
Возвращает количество доступных шагов отмены.
Эта функция была добавлена в Qt 4.6.
См. также isUndoAvailable().
QTextBlock QTextDocument::begin() const
Возвращает первый блок текста документа.
См. также firstBlock().
QChar QTextDocument::characterAt(int pos) const
Возвращает символ в позиции pos или нулевой символ, если позиция находится вне диапазона.
Эта функция была добавлена в Qt 4.5.
См. также characterCount().
int QTextDocument::characterCount() const
Возвращает количество символов в этом документе.
Эта функция была добавлена в Qt 4.5.
См. также blockCount() и characterAt().
[virtual] void QTextDocument::clear()
Очищает документ.
void QTextDocument::clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)
Очищает стеки, указанные в stacksToClear.
Этот метод очищает все команды в стеке отмены, стеке повторения или обоих стеков (по умолчанию). Если команды очищены, будут выпущены соответствующие сигналы, QTextDocument::undoAvailable() или QTextDocument::redoAvailable().
Эта функция была добавлена в Qt 4.7.
См. также QTextDocument::undoAvailable() и QTextDocument::redoAvailable().
QTextDocument *QTextDocument::clone(QObject *parent = nullptr) const
Создаёт новый QTextDocument, являющийся копией этого текстового документа. parent — родитель возвращаемого текстового документа.
[virtual protected] QTextObject *QTextDocument::createObject(const QTextFormat &format)
Создаёт и возвращает новый объект документа (a QTextObject), основанный на заданном формате format.
QTextObjects всегда создаются через этот метод, поэтому необходимо переопределить его, если вы используете пользовательские текстовые объекты внутри своего документа.
Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const
Стиль перемещения курсора по умолчанию используется всеми объектами QTextCursor, созданными из документа. По умолчанию используется Qt::LogicalMoveStyle.
Эта функция была добавлена в Qt 4.8.
См. также setDefaultCursorMoveStyle().
QFont QTextDocument::defaultFont() const
Возвращает шрифт по умолчанию, который будет использоваться в макете документа.
Примечание: Функция-геттер для свойства defaultFont.
См. также setDefaultFont().
QTextOption QTextDocument::defaultTextOption() const
Параметры текста по умолчанию используются для всех объектов QTextLayout в документе. Это позволяет задавать глобальные свойства для документа, такие как режим перевода слов по умолчанию.
Эта функция была добавлена в Qt 4.3.
Примечание: Функция-геттер для свойства defaultTextOption.
См. также setDefaultTextOption().
QAbstractTextDocumentLayout *QTextDocument::documentLayout() const
Возвращает макет документа для этого документа.
См. также setDocumentLayout().
void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())
Отображает содержимое документа с помощью художника p, ограниченного областью rect. Если rect — пустой прямоугольник (по умолчанию), то документ отображается без ограничений.
Эта функция была добавлена в Qt 4.2.
QTextBlock QTextDocument::end() const
Эта функция возвращает блок для проверки конца документа во время итерации по нему.
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
cout << it.text().toStdString() << endl; Возвращаемый блок недействителен и представляет собой блок после последнего блока в документе. Вы можете использовать lastBlock() для получения последнего действительного блока документа.
См. также lastBlock().
QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Находит следующее вхождение строки subString в документе. Поиск начинается с позиции заданного cursor и продолжается вперёд по документу, если не указано иначе в опциях поиска. options управляют типом выполненного поиска.
Возвращает курсор с выделенным совпадением, если subString найдена; в противном случае возвращает нулевой курсор.
Если у данного cursor есть выделение, поиск начинается после выделения; в противном случае — с позиции курсора.
По умолчанию поиск нечувствителен к регистру и может сопоставлять текст в любом месте документа.
QTextCursor QTextDocument::find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Находит следующее вхождение строки subString в документе. Поиск начинается с заданной позиции position и продолжается вперёд по документу, если не указано иначе в опциях поиска. options управляют типом выполненного поиска.
Возвращает курсор с выделенным совпадением, если subString найдена; в противном случае возвращает нулевой курсор.
Если position равно 0 (по умолчанию), поиск начинается с начала документа; в противном случае — с указанной позиции.
QTextCursor QTextDocument::find(const QRegExp &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с заданной позиции from и продолжается вперёд по документу, если не указано иначе в опциях поиска. options управляют типом выполненного поиска. Опция FindCaseSensitively игнорируется для этого переопределения, используйте QRegExp::caseSensitivity вместо неё.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае — с указанной позиции.
QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Это перегруженная функция.
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с позиции заданного курсора cursor и продолжается вперёд по документу, если не указано иначе в опциях поиска. options управляют типом выполненного поиска. Опция FindCaseSensitively игнорируется для этого переопределения, используйте QRegExp::caseSensitivity вместо неё.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если у данного cursor есть выделение, поиск начинается после выделения; в противном случае — с позиции курсора.
По умолчанию поиск нечувствителен к регистру и может сопоставлять текст в любом месте документа.
QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
Находит следующее вхождение, соответствующее заданному регулярному выражению expr, в том же абзаце документа.
Поиск начинается с заданной позиции from и продолжается вперёд по документу, если не указано иначе в опциях поиска. options управляют типом выполненного поиска.
Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.
Если позиция from равна 0 (по умолчанию), поиск начинается с начала документа; в противном случае — с указанной позиции.
Эта функция была добавлена в Qt 5.5.
QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Находит следующее вхождение, соответствующее заданному регулярному выражению, expr, в том же абзаце документа.
Поиск начинается с позиции заданного курсора и продолжается вперёд по документу, если не указано иное в параметрах поиска. Параметр options управляет типом выполняемого поиска.
Возвращает курсор с выделенным соответствием, если соответствие найдено; в противном случае возвращает null-курсор.
Если у заданного курсора есть выделение, поиск начинается после выделения; в противном случае он начинается с позиции курсора.
По умолчанию поиск нечувствителен к регистру и может соответствовать тексту в любом месте документа.
Эта функция была добавлена в Qt 5.5.
QTextBlock QTextDocument::findBlock(int pos) const
Возвращает абзац текста, содержащий pos-й символ.
QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const
Возвращает абзац текста, содержащий указанный номер строки lineNumber.
Эта функция была добавлена в Qt 4.5.
См. также QTextBlock::firstLineNumber().
QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const
Возвращает абзац текста с заданным номером blockNumber.
Эта функция была добавлена в Qt 4.4.
См. также QTextBlock::blockNumber().
QTextBlock QTextDocument::firstBlock() const
Возвращает первый абзац документа.
Эта функция была добавлена в Qt 4.4.
qreal QTextDocument::idealWidth() const
Возвращает идеальную ширину документа текста. Идеальная ширина — это фактически используемая ширина документа без учёта необязательных выравниваний. Она всегда <= size().width().
Эта функция была добавлена в Qt 4.2.
См. также adjustSize() и textWidth.
bool QTextDocument::isEmpty() const
Возвращает true если документ пустой; в противном случае возвращает false.
bool QTextDocument::isRedoAvailable() const
Возвращает true если повторение доступно; в противном случае возвращает false.
См. также isUndoAvailable() и availableRedoSteps().
bool QTextDocument::isUndoAvailable() const
Возвращает true если отмена доступна; в противном случае возвращает false.
См. также isRedoAvailable() и availableUndoSteps().
QTextBlock QTextDocument::lastBlock() const
Возвращает последний (действительный) абзац документа.
Эта функция была добавлена в Qt 4.4.
int QTextDocument::lineCount() const
Возвращает количество строк в этом документе (если макет поддерживает это). В противном случае это идентично количеству абзацев.
Эта функция была добавлена в Qt 4.5.
См. также blockCount() и characterCount().
[virtual protected] QVariant QTextDocument::loadResource(int type, const QUrl &name)
Загружает данные указанного типа type из ресурса с заданным именем name.
Эта функция вызывается движком форматирования Rich Text для запроса данных, которые не хранятся напрямую в QTextDocument, но всё же связаны с ним. Например, изображения косвенно ссылаются на атрибут name объекта QTextImageFormat.
Когда вызывается Qt, type — это одно из значений из QTextDocument::ResourceType.
Если QTextDocument является дочерним объектом QObject, который имеет вызываемый метод loadResource, такой как QTextEdit, QTextBrowser или сам QTextDocument, то реализация по умолчанию пытается извлечь данные из родителя.
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QTextDocument::markContentsDirty(int position, int length)
Помечает содержимое, заданное указанными position и length, как «грязное», информируя документ о необходимости повторного макета.
QString QTextDocument::metaInformation(QTextDocument::MetaInformation info) const
Возвращает метаинформацию о документе типа, указанного info.
См. также setMetaInformation().
QTextObject *QTextDocument::object(int objectIndex) const
Возвращает объект текста, связанный с заданным objectIndex.
QTextObject *QTextDocument::objectForFormat(const QTextFormat &f) const
Возвращает объект текста, связанный с форматом f.
int QTextDocument::pageCount() const
Возвращает количество страниц в этом документе.
void QTextDocument::print(QPagedPaintDevice *printer) const
Печатает документ на заданном printer. QPagedPaintDevice должен быть настроен перед использованием с этой функцией.
Это всего лишь удобный метод для печати всего документа на принтере.
Если документ уже разбит на страницы заданной высотой в свойстве pageSize(), он печатается как есть.
Если документ не разбит на страницы, например, документ, используемый в QTextEdit, тогда создаётся временная копия документа, и копия разбивается на несколько страниц в соответствии с размером paint device's paperRect(). По умолчанию вокруг содержимого документа устанавливается отступ 2 см. Кроме того, номер текущей страницы печатается внизу каждой страницы.
См. также QTextEdit::print().
void QTextDocument::redo(QTextCursor *cursor)
Повторяет последнее редактирование документа, если повторение доступно.
Предоставленный cursor размещается в конце местоположения, где операция редактирования была повторена.
Эта функция была добавлена в Qt 4.2.
QVariant QTextDocument::resource(int type, const QUrl &name) const
Возвращает данные указанного типа type из ресурса с заданным именем name.
Эта функция вызывается движком форматирования Rich Text для запроса данных, которые не хранятся напрямую в QTextDocument, но всё же связаны с ним. Например, изображения косвенно ссылаются на атрибут name объекта QTextImageFormat.
Ресурсы кешируются внутри документа. Если ресурс не найден в кэше, вызывается loadResource для попытки загрузки ресурса. loadResource должен использовать addResource для добавления ресурса в кэш.
См. также QTextDocument::ResourceType.
int QTextDocument::revision() const
Возвращает версию документа (если отмена включена).
Версия гарантированно увеличивается, когда редактируется документ, который не был изменён.
Эта функция была добавлена в Qt 4.4.
См. также QTextBlock::revision() и isModified().
QTextFrame *QTextDocument::rootFrame() const
Возвращает корневой фрейм документа.
void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)
Устанавливает стиль перемещения курсора по умолчанию на заданный style.
Эта функция была добавлена в Qt 4.8.
См. также defaultCursorMoveStyle().
void QTextDocument::setDefaultFont(const QFont &font)
Устанавливает шрифт по умолчанию font для использования в макете документа.
Примечание: Функция-установщик для свойства defaultFont.
См. также defaultFont().
void QTextDocument::setDefaultTextOption(const QTextOption &option)
Устанавливает текстовый параметр по умолчанию в option.
Эта функция была добавлена в Qt 4.3.
Примечание: Функция-сеттер для свойства defaultTextOption.
См. также defaultTextOption().
void QTextDocument::setDocumentLayout(QAbstractTextDocumentLayout *layout)
Устанавливает для документа заданный layout. Предыдущий макет удаляется.
См. также documentLayoutChanged().
void QTextDocument::setHtml(const QString &html)
Заменяет всё содержимое документа заданным HTML-форматированным текстом в строке html. История отмены/повтор при вызове этой функции сбрасывается.
HTML-форматирование соблюдается по возможности; например, "<b>жирный</b> текст" создаст текст, где первое слово имеет начертание, дающее ему вид жирного: "жирный текст".
Примечание: Ответственность за корректное декодирование текста при создании QString, содержащего HTML, и его передаче в setHtml() лежит на вызывающей стороне.
См. также setPlainText() и Поддерживаемый подмножество HTML.
void QTextDocument::setIndentWidth(qreal width)
Устанавливает width, используемый для отступа списков и блоков текста.
Свойства отступа QTextListFormat и QTextBlockFormat указывают кратные значения этого значения. Значение по умолчанию для ширины отступа составляет 40.
Эта функция была добавлена в Qt 4.4.
Примечание: Функция-сеттер для свойства indentWidth.
См. также indentWidth().
void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
Устанавливает метаданные документа типа, указанного в info, в заданную строку string.
См. также metaInformation().
void QTextDocument::setPlainText(const QString &text)
Заменяет всё содержимое документа заданным простым text. История отмены/повтор при вызове этой функции сбрасывается.
См. также setHtml().
QString QTextDocument::toHtml(const QByteArray &encoding = QByteArray()) const
Возвращает строку, содержащую HTML-представление документа.
Параметр encoding задаёт значение атрибута charset в заголовке html. Например, если указан 'utf-8', начало сгенерированного html будет выглядеть так:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>...
Если кодировка не указана, такая метаинформация не генерируется.
Если вы позже преобразуете возвращённую строку html в массив байтов для передачи по сети или сохранения на диск, вы должны указать кодировку, которую вы будете использовать для преобразования в массив байтов здесь.
См. также Поддерживаемый подмножество HTML.
QString QTextDocument::toPlainText() const
Возвращает простой текст, содержащийся в документе. Если вам нужны сведения о форматировании, используйте QTextCursor вместо этого.
Эта функция возвращает то же самое, что и toRawText(), но заменит некоторые символы Юникода на ASCII-альтернативы. В частности, неразрывный пробел (U+00A0) заменяется обычным пробелом (U+0020), а разделители абзаца (U+2029) и строки (U+2028) заменяются символом новой строки (U+000A). Если вам нужны точные данные документа, используйте toRawText() вместо этого.
Примечание: Встроенные объекты, такие как изображения, представлены значением Юникода U+FFFC (СИМВОЛ ЗАМЕНЫ ОБЪЕКТА).
См. также toHtml().
QString QTextDocument::toRawText() const
Возвращает исходный текст, содержащийся в документе, без какой-либо информации о форматировании. Если вам нужны сведения о форматировании, используйте QTextCursor вместо этого.
Эта функция была добавлена в Qt 5.9.
См. также toPlainText().
void QTextDocument::undo(QTextCursor *cursor)
Отменяет последнюю операцию редактирования документа, если отмена доступна. Предоставленный cursor размещается в конце расположения, где операция редактирования была отменена.
См. документацию Qt Undo Framework для получения дополнительной информации.
Эта функция была добавлена в Qt 4.2.
См. также undoAvailable() и isUndoRedoEnabled().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtextdocument.html