Spec-Zone.ru › Qt 6.1

Класс QTextDocument

Класс QTextDocument хранит форматированный текст. Подробнее...

Заголовок: #include <QTextDocument>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследует: QObject
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевходозащищенными.

Публичные типы

перечисление FindFlag { FindBackward, FindCaseSensitively, FindWholeWords }
флаги FindFlags
флаги MarkdownFeatures
перечисление MetaInformation { DocumentTitle, DocumentUrl }
ResourceProvider
перечисление ResourceType { UnknownResource, HtmlResource, ImageResource, StyleSheetResource, MarkdownResource, UserResource }
перечисление Stacks { UndoStack, RedoStack, UndoAndRedoStacks }

Свойства

  • baseUrl : QUrl
  • blockCount : const int
  • defaultFont : QFont
  • defaultStyleSheet : QString
  • defaultTextOption : QTextOption
  • documentMargin : qreal
  • indentWidth : qreal
  • maximumBlockCount : int
  • modified : bool
  • pageSize : QSizeF
  • size : const QSizeF
  • textWidth : qreal
  • undoRedoEnabled : bool
  • useDesignMetrics : bool

Публичные функции

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()
QList<QTextFormat> allFormats() const
int availableRedoSteps() const
int availableUndoSteps() const
QUrl baseUrl() const
qreal baselineOffset() 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 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
QTextDocument::ResourceProvider resourceProvider() const
int revision() const
QTextFrame * rootFrame() const
void setBaseUrl(const QUrl &url)
void setBaselineOffset(qreal baseline)
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 setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)
void setMaximumBlockCount(int maximum)
void setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
void setPageSize(const QSizeF &size)
void setPlainText(const QString &text)
void setResourceProvider(const QTextDocument::ResourceProvider &provider)
void setSubScriptBaseline(qreal baseline)
void setSuperScriptBaseline(qreal baseline)
void setTextWidth(qreal width)
void setUndoRedoEnabled(bool enable)
void setUseDesignMetrics(bool b)
QSizeF size() const
qreal subScriptBaseline() const
qreal superScriptBaseline() const
qreal textWidth() const
QString toHtml() const
QString toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const
QString toPlainText() const
QString toRawText() const
void undo(QTextCursor *cursor)
bool useDesignMetrics() const

Public Slots

void redo()
void setModified(bool m = true)
void undo()

Signals

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()

Static Public Members

QTextDocument::ResourceProvider defaultResourceProvider()
void setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)

Protected Functions

virtual QTextObject * createObject(const QTextFormat &format)
virtual QVariant loadResource(int type, const QUrl &name)

Detailed Description

QTextDocument — контейнер для структурированных документов форматированного текста, обеспечивающий поддержку стилизованного текста и различных типов элементов документа, таких как списки, таблицы, фреймы и изображения. Они могут быть созданы для использования в QTextEdit или использоваться независимо.

Каждый элемент документа описывается связанным объектом форматирования. Каждый объект форматирования рассматривается QTextDocuments как уникальный объект и может быть передан в objectForFormat(), чтобы получить элемент документа, к которому он применяется.

QTextDocument может быть изменён программно с помощью QTextCursor, а его содержимое может быть просмотрено путём обхода структуры документа. Вся структура документа хранится как иерархия элементов документа под корневым фреймом, доступным с помощью функции rootFrame(). В качестве альтернативы, если вам нужно просто перебрать текстовое содержимое документа, можно использовать begin(), end() и findBlock(), чтобы получить текстовые блоки, которые вы можете просмотреть и перебрать.

Макет документа определяется documentLayout(); вы можете создать свой собственный подкласс QAbstractTextDocumentLayout и установить его с помощью setDocumentLayout(), если хотите использовать собственную логику макета. Заголовок документа и другая метаинформация могут быть получены с помощью функции metaInformation(). Для документов, которые отображаются пользователям через класс QTextEdit, заголовок документа также доступен через функцию QTextEdit::documentTitle().

Удобные функции toPlainText() и toHtml() позволяют вам получить содержимое документа в виде обычного текста и HTML. Текст документа можно искать, используя функции find().

Отменить/повторить операции, выполненные над документом, можно управлять с помощью функции setUndoRedoEnabled(). Системой отмены/повторa можно управлять с помощью виджета редактора через слоты undo() и redo(); документ также предоставляет сигналы contentsChanged(), undoAvailable() и redoAvailable(), которые информируют подключённые виджеты редакторов о состоянии системы отмены/повтора.

  • Вставка или удаление символов. Последовательность вставок или удалений в одном и том же блоке текста рассматривается как одна операция отмены/повтора.
  • Вставка или удаление блоков текста. Последовательности вставок или удалений в одной операции (например, выделение и удаление текста) рассматриваются как одна операция отмены/повтора.
  • Изменение формата символов текста.
  • Изменение формата блоков текста.
  • Изменение формата группы блоков текста.

См. также QTextCursor, QTextEdit, Обработка форматированного текста и Пример объекта текста.

Документация типов членов

перечисление QTextDocument::FindFlagфлаги QTextDocument::FindFlags

Это перечисление описывает параметры, доступные для функции поиска QTextDocument. Параметры можно объединять с помощью операции ИЛИ из следующего списка:

Константа Значение Описание
QTextDocument::FindBackward 0x00001 Поиск в обратном направлении вместо прямого.
QTextDocument::FindCaseSensitively 0x00002 По умолчанию поиск выполняется без учёта регистра. Указание этого параметра изменяет поведение на поиск, учитывающий регистр.
QTextDocument::FindWholeWords 0x00004 Делает поиск совпадающим только с целыми словами.

Тип FindFlags является псевдонимом для QFlags<FindFlag>. Он хранит объединение значений FindFlag с помощью операции ИЛИ.

перечисление QTextDocument::MetaInformation

Это перечисление описывает различные типы метаданных, которые можно добавить в документ.

Константа Значение Описание
QTextDocument::DocumentTitle 0 Название документа.
QTextDocument::DocumentUrl 1 URL документа. Функция loadResource() использует этот URL в качестве базового при загрузке относительных ресурсов.

См. также metaInformation() и setMetaInformation().

[alias, since 6.1] QTextDocument::ResourceProvider

Псевдоним типа std::function<QVariant(const QUrl&)>.

Этот псевдоним типа был введён в Qt 6.1.

перечисление QTextDocument::ResourceType

Это перечисление описывает типы ресурсов, которые могут быть загружены функцией QTextDocument's loadResource() или QTextBrowser::setSource().

Константа Значение Описание
QTextDocument::UnknownResource 0 Ресурс не загружен или тип ресурса неизвестен.
QTextDocument::HtmlResource 1 Ресурс содержит HTML.
QTextDocument::ImageResource 2 Ресурс содержит данные изображения. В настоящее время поддерживаются типы данных QMetaType::QPixmap и QMetaType::QImage. Если соответствующий вариант имеет тип QMetaType::QByteArray, Qt пытается загрузить изображение с помощью QImage::loadFromData. QMetaType::QIcon в настоящее время не поддерживается. Иконку нужно сначала преобразовать в один из поддерживаемых типов, например, с помощью QIcon::pixmap.
QTextDocument::StyleSheetResource 3 Ресурс содержит CSS.
QTextDocument::MarkdownResource 4 Ресурс содержит Markdown.
QTextDocument::UserResource 100 Первое доступное значение для пользовательских типов ресурсов.

См. также loadResource() и QTextBrowser::sourceType().

перечисление QTextDocument::Stacks

Константа Значение Описание
QTextDocument::UndoStack 0x01 Стек отмены.
QTextDocument::RedoStack 0x02 Стек повтора.
QTextDocument::UndoAndRedoStacks UndoStack | RedoStack И стек отмены, и стек повтора.

Документация свойств

[since 5.3] 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)

[read-only] blockCount : const int

Это свойство содержит количество текстовых блоков в документе.

Значение этого свойства не определено в документах с таблицами или фреймами.

По умолчанию, если определено, это свойство содержит значение 1.

Функции доступа:

int blockCount() const

См. также lineCount() и characterCount().

defaultFont : QFont

Это свойство содержит шрифт по умолчанию, используемый для отображения текста документа.

Функции доступа:

QFont defaultFont() const
void setDefaultFont(const QFont &font)

defaultStyleSheet : QString

Стиль таблицы стилей по умолчанию применяется ко всему новому отформатированному в формате HTML тексту, который вставляется в документ, например, с помощью setHtml() или QTextCursor::insertHtml().

Таблица стилей должна соответствовать синтаксису CSS 2.1.

Примечание: Изменение таблицы стилей по умолчанию не оказывает никакого влияния на существующее содержимое документа.

Функции доступа:

QString defaultStyleSheet() const
void setDefaultStyleSheet(const QString &sheet)

См. также Поддерживаемый подмножество HTML.

defaultTextOption : QTextOption

Это свойство содержит опцию текста по умолчанию, которая будет установлена для всех QTextLayout в документе.

При создании QTextBlock устанавливается defaultTextOption на их QTextLayout. Это позволяет устанавливать глобальные свойства для документа, такие как режим перевода слов по умолчанию.

Функции доступа:

QTextOption defaultTextOption() const
void setDefaultTextOption(const QTextOption &option)

documentMargin : qreal

Отступ вокруг документа. По умолчанию 4.

Функции доступа:

qreal documentMargin() const
void setDocumentMargin(qreal margin)

indentWidth : qreal

Возвращает ширину, используемую для отступа списков и блоков текста.

Свойства отступа QTextListFormat и QTextBlockFormat задают кратные этому значению. Значение отступа по умолчанию — 40.

Функции доступа:

qreal indentWidth() const
void setIndentWidth(qreal width)

maximumBlockCount : int

Устанавливает ограничение для блоков в документе.

Устанавливает максимальное количество блоков, которое может содержать документ. Если в документе больше блоков, чем указано в этом свойстве, блоки удаляются с начала документа.

Отрицательное или нулевое значение указывает, что документ может содержать неограниченное количество блоков.

Значение по умолчанию — 0.

Обратите внимание, что установка этого свойства немедленно применит ограничение к содержимому документа.

Установка этого свойства также отключает историю отмены и повтора.

Это свойство не определено в документах с таблицами или фреймами.

Функции доступа:

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().

[read-only] size : const QSizeF

Это свойство содержит фактический размер документа. Это эквивалентно documentLayout()->documentSize();

Размер документа может быть изменён либо установкой ширины текста, либо установкой размера всей страницы.

Обратите внимание, что ширина всегда >= pageSize().width().

По умолчанию для только что созданного пустого документа это свойство содержит размер, зависящий от конфигурации.

Функции доступа:

QSizeF size() const

См. также setTextWidth(), setPageSize(), и idealWidth().

textWidth : qreal

Ширина текста задаёт предпочтительную ширину текста в документе. Если текст (или содержимое в целом) шире указанной, он разбивается на несколько строк и увеличивается по вертикали. Если текст не может быть разбит на несколько строк для соответствия заданной ширине текста, он будет больше, и свойства size() и idealWidth() будут отражать это.

Если ширина текста установлена в -1, то текст не будет разбиваться на несколько строк, если это не будет явно принудительно сделано с помощью разрыва строки или нового абзаца.

Значение по умолчанию — -1.

Установка ширины текста также установит высоту страницы в -1, что приведет к непрерывному вертикальному увеличению или уменьшению документа. Если вы хотите, чтобы макет документа разбивал текст на несколько страниц, то необходимо установить свойство pageSize вместо этого.

Функции доступа:

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.

Функции доступа:

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 — это новое общее количество.

[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()

Этот сигнал излучается, когда устанавливается новый макет документа.

См. также 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 добавляется новый уровень отмены.

[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()

Настраивает размер документа на разумное значение.

См. также idealWidth(), textWidth, и size.

QList<QTextFormat> QTextDocument::allFormats() const

Возвращает список форматов текста для всех форматов, используемых в документе.

int QTextDocument::availableRedoSteps() const

Возвращает количество доступных шагов отмены.

См. также isRedoAvailable().

int QTextDocument::availableUndoSteps() const

Возвращает количество доступных шагов повтора.

См. также isUndoAvailable().

[since 6.0] qreal QTextDocument::baselineOffset() const

Возвращает смещение базовой линии в процентах, используемое в макете документа.

Эта функция была добавлена в Qt 6.0.

См. также setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), и superScriptBaseline().

QTextBlock QTextDocument::begin() const

Возвращает первый блок текста документа.

См. также firstBlock().

QChar QTextDocument::characterAt(int pos) const

Возвращает символ в позиции pos или нулевой символ, если позиция находится вне диапазона.

См. также characterCount().

int QTextDocument::characterCount() const

Возвращает количество символов в этом документе.

Примечание: Так как QTextDocument всегда содержит как минимум один QChar::ParagraphSeparator, этот метод вернёт как минимум 1.

См. также blockCount() и characterAt().

[virtual] void QTextDocument::clear()

Очищает документ.

void QTextDocument::clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)

Очищает стеки, указанные в stacksToClear.

Этот метод очищает все команды в стеке отмены, стеке повтора или в обоих стеках (по умолчанию). Если команды очищаются, излучаются соответствующие сигналы, QTextDocument::undoAvailable() или QTextDocument::redoAvailable().

См. также QTextDocument::undoAvailable() и QTextDocument::redoAvailable().

QTextDocument *QTextDocument::clone(QObject *parent = nullptr) const

Создаёт новый QTextDocument, являющийся копией этого текстового документа. parent — родитель возвращаемого текстового документа.

[virtual protected] QTextObject *QTextDocument::createObject(const QTextFormat &format)

Создаёт и возвращает новый объект документа (объект QTextObject) на основе заданного format.

QTextObjects всегда создаются через этот метод, поэтому необходимо переопределить его, если вы используете пользовательские текстовые объекты внутри своего документа.

Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const

Стиль перемещения курсора по умолчанию используется всеми объектами QTextCursor, созданными из документа. По умолчанию — Qt::LogicalMoveStyle.

См. также setDefaultCursorMoveStyle().

QFont QTextDocument::defaultFont() const

Возвращает шрифт по умолчанию, который будет использоваться в макете документа.

Примечание: Метод-получатель для свойства defaultFont.

См. также setDefaultFont().

[static, since 6.1] QTextDocument::ResourceProvider QTextDocument::defaultResourceProvider()

Возвращает поставщик ресурсов по умолчанию.

Эта функция была добавлена в Qt 6.1.

См. также setDefaultResourceProvider(), resourceProvider() и loadResource().

QTextOption QTextDocument::defaultTextOption() const

Опция текста по умолчанию используется для всех объектов QTextLayout в документе. Это позволяет устанавливать глобальные свойства для документа, такие как режим перевода слов по умолчанию.

Примечание: Метод-получатель для свойства defaultTextOption.

См. также setDefaultTextOption().

QAbstractTextDocumentLayout *QTextDocument::documentLayout() const

Возвращает макет документа для этого документа.

См. также setDocumentLayout().

void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())

Отрисовывает содержимое документа с помощью художника p, ограниченного rect. Если rect — пустой прямоугольник (по умолчанию), то документ отрисовывается без обрезки.

QTextBlock QTextDocument::end() const

Эта функция возвращает блок для проверки конца документа во время итерации по нему.

for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
    std::cout << it.text().toStdString() << "\n";

Возвращаемый блок недействителен и представляет собой блок после последнего блока в документе. Вы можете использовать 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 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается в заданной позиции.

[since 5.5] QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const

Ищет следующее вхождение, которое соответствует заданному регулярному выражению expr, в том же абзаце документа.

Поиск начинается с заданной позиции from и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.

Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.

Если from равно 0 (по умолчанию), поиск начинается с начала документа; в противном случае он начинается в заданной позиции.

Эта функция была добавлена в Qt 5.5.

[since 5.5] QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const

Ищет следующее вхождение, которое соответствует заданному регулярному выражению expr, в том же абзаце документа.

Поиск начинается с позиции заданного cursor и продолжается вперёд по документу, если не указано иначе в параметрах поиска. Параметр options управляет типом выполняемого поиска.

Возвращает курсор с выделенным совпадением, если совпадение найдено; в противном случае возвращает нулевой курсор.

Если у заданного cursor есть выделение, поиск начинается после выделения; в противном случае он начинается в позиции курсора.

По умолчанию поиск нечувствителен к регистру и может совпадать с любым текстом в документе.

Эта функция была добавлена в Qt 5.5.

QTextBlock QTextDocument::findBlock(int pos) const

Возвращает абзац текста, содержащий pos-й символ.

QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const

Возвращает абзац текста, содержащий указанный lineNumber.

См. также QTextBlock::firstLineNumber().

QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const

Возвращает абзац текста с заданным blockNumber.

См. также QTextBlock::blockNumber().

QTextBlock QTextDocument::firstBlock() const

Возвращает первый абзац документа.

qreal QTextDocument::idealWidth() const

Возвращает идеальную ширину документа. Идеальная ширина — это фактическая ширина документа без учёта необязательных выравниваний. Она всегда <= size().width().

См. также 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

Возвращает последний (действительный) блок текста документа.

int QTextDocument::lineCount() const

Возвращает количество строк в этом документе (если макет это поддерживает). В противном случае, это идентично количеству блоков.

См. также blockCount() и characterCount().

[virtual protected invokable] QVariant QTextDocument::loadResource(int type, const QUrl &name)

Загружает данные указанного типа type из ресурса с заданным именем name.

Эта функция вызывается движком форматирования богатого текста для запроса данных, которые не хранятся напрямую в QTextDocument, но все же связаны с ним. Например, изображения косвенно ссылаются на атрибут имени объекта QTextImageFormat.

При вызове Qt, type является одним из значений QTextDocument::ResourceType.

Если QTextDocument является дочерним объектом QObject, который имеет вызываемый метод loadResource, такой как QTextEdit, QTextBrowser или QTextDocument сам по себе, то реализация по умолчанию пытается извлечь данные из родителя.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также QTextDocument::ResourceProvider.

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, то создаётся временная копия документа, и копия разбивается на несколько страниц в соответствии с размером paperRect() устройства рисования. По умолчанию вокруг содержимого документа устанавливается отступ в 2 см. Кроме того, номер текущей страницы печатается внизу каждой страницы.

См. также QTextEdit::print().

void QTextDocument::redo(QTextCursor *cursor)

Повторяет последнее действие редактирования в документе, если «Повторить» доступно.

Предоставленный cursor позиционируется в конце места, где было выполнено повторное действие.

QVariant QTextDocument::resource(int type, const QUrl &name) const

Возвращает данные указанного типа type из ресурса с заданным именем name.

Эта функция вызывается движком форматирования богатого текста для запроса данных, которые не хранятся напрямую в QTextDocument, но все же связаны с ним. Например, изображения косвенно ссылаются на атрибут имени объекта QTextImageFormat.

Ресурсы кэшируются внутри документа. Если ресурс не найден в кэше, вызывается loadResource для попытки загрузки ресурса. loadResource должен затем использовать addResource для добавления ресурса в кэш.

Если loadResource не загружает ресурс, то вызывается resourceProvider, а затем defaultResourceProvider, если они установлены. Обратите внимание, что результат от провайдера не будет автоматически добавлен в кэш.

См. также QTextDocument::ResourceType и resourceProvider().

[since 6.1] QTextDocument::ResourceProvider QTextDocument::resourceProvider() const

Возвращает провайдера ресурсов для этого документа.

Эта функция была добавлена в Qt 6.1.

См. также setResourceProvider(), defaultResourceProvider(), и loadResource().

int QTextDocument::revision() const

Возвращает ревизию документа (если включена возможность отмены).

Ревизия гарантированно увеличивается, когда документ, который не был изменён, редактируется.

См. также QTextBlock::revision() и isModified().

QTextFrame *QTextDocument::rootFrame() const

Возвращает корневую рамку документа.

[since 6.0] void QTextDocument::setBaselineOffset(qreal baseline)

Устанавливает базовую линию в процентах от высоты шрифта, используемую в макете документа, на baseline. Значение по умолчанию — 0. Положительное значение смещает текст вверх на соответствующий процент; отрицательное значение — вниз.

Эта функция была добавлена в Qt 6.0.

См. также baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline(), и superScriptBaseline().

void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)

Устанавливает стиль перемещения курсора по умолчанию на заданный style.

См. также defaultCursorMoveStyle().

void QTextDocument::setDefaultFont(const QFont &font)

Устанавливает шрифт по умолчанию для использования в макете документа.

Примечание: Функция-сеттер для свойства defaultFont.

См. также defaultFont().

[static, since 6.1] void QTextDocument::setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)

Устанавливает провайдера ресурсов по умолчанию на provider.

Провайдер по умолчанию будет использоваться всеми QTextDocuments, которые не имеют явного провайдера.

Эта функция была добавлена в Qt 6.1.

См. также defaultResourceProvider(), setResourceProvider(), и loadResource().

void QTextDocument::setDefaultTextOption(const QTextOption &option)

Устанавливает опцию текста по умолчанию на option.

Примечание: Функция-сеттер для свойства 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.

Примечание: Функция-сеттер для свойства indentWidth.

См. также indentWidth().

void QTextDocument::setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)

Заменяет всё содержимое документа заданным Markdown-форматированным текстом в строке markdown, с поддержкой указанных features. По умолчанию включены все поддерживаемые Markdown-функции в стиле GitHub; передайте MarkdownDialectCommonMark для более простого разбора.

Форматирование Markdown соблюдается по возможности; например, "*жирный* текст" создаст текст, где первое слово имеет полужирное начертание.

Обработка HTML, включенного в строку markdown, выполняется так же, как и в setHtml; однако, форматирование Markdown внутри HTML-блоков не поддерживается.

Некоторые функции анализатора можно включить или выключить через аргумент features:

Постоянная Описание
MarkdownNoHTML Любые HTML-теги в тексте Markdown будут отброшены
MarkdownDialectCommonMark Анализатор поддерживает только стандартные функции CommonMark
MarkdownDialectGitHub Анализатор поддерживает диалект GitHub

Значение по умолчанию MarkdownDialectGitHub.

История отмены/повтора сбрасывается при вызове этой функции.

Эта функция была добавлена в Qt 5.14.

void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)

Устанавливает метаинформацию документа типа, указанного в info, на заданную строку string.

См. также metaInformation().

void QTextDocument::setPlainText(const QString &text)

Заменяет все содержимое документа заданным простым текстом. История отмены/повтора сбрасывается при вызове этой функции.

См. также setHtml().

void QTextDocument::setResourceProvider(const QTextDocument::ResourceProvider &provider)

Устанавливает поставщика ресурсов для текстового документа в provider.

Эта функция была добавлена в Qt 6.1.

См. также resourceProvider() и loadResource().

void QTextDocument::setSubScriptBaseline(qreal baseline)

Устанавливает базовую линию нижнего индекса по умолчанию в качестве % от высоты шрифта, используемого в макете документа, в baseline. Значение по умолчанию составляет 16,67% (1/6 высоты).

Эта функция была добавлена в Qt 6.0.

См. также subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), и baselineOffset().

void QTextDocument::setSuperScriptBaseline(qreal baseline)

Устанавливает базовую линию верхнего индекса по умолчанию в качестве % от высоты шрифта, используемого в макете документа, в baseline. Значение по умолчанию составляет 50% (1/2 высоты).

Эта функция была добавлена в Qt 6.0.

См. также superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), и baselineOffset().

qreal QTextDocument::subScriptBaseline() const

Возвращает базовую линию нижнего индекса в % от высоты шрифта, используемого в макете документа.

Эта функция была добавлена в Qt 6.0.

См. также setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), и baselineOffset().

qreal QTextDocument::superScriptBaseline() const

Возвращает базовую линию верхнего индекса в % от высоты шрифта, используемого в макете документа.

Эта функция была добавлена в Qt 6.0.

См. также setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset(), и baselineOffset().

QString QTextDocument::toHtml() const

Возвращает строку, содержащую HTML-представление документа.

Содержимое документа задаёт кодировку UTF-8. Если вы впоследствии конвертируете возвращённую строку html в массив байтов для передачи по сети или сохранения на диск, используйте QString::toUtf8(), чтобы преобразовать строку в QByteArray.

См. также Поддержка HTML-подмножества.

QString QTextDocument::toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const

Возвращает строку, содержащую Markdown-представление документа с заданными features, или пустую строку, если запись не удалась по какой-либо причине.

Эта функция была добавлена в Qt 5.14.

См. также setMarkdown.

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-фреймворк для отмены/повтора для получения подробной информации.

См. также undoAvailable() и isUndoRedoEnabled().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtextdocument.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API