Класс QPlainTextEdit
Класс QPlainTextEdit предоставляет виджет для редактирования и отображения простого текста. Подробнее...
| Заголовок: | #include <QPlainTextEdit> |
| qmake: | QT += widgets |
| С момента: | Qt 4.4 |
| Наследуется от: | QAbstractScrollArea |
Этот класс был представлен в Qt 4.4.
Общие типы
| перечисление | LineWrapMode { NoWrap, WidgetWidth } |
Свойства
|
|
Общедоступные функции
| QPlainTextEdit(const QString &text, QWidget *parent = nullptr) | |
| QPlainTextEdit(QWidget *parent = nullptr) | |
| virtual | ~QPlainTextEdit() |
| QString | anchorAt(const QPoint &pos) const |
| bool | backgroundVisible() const |
| int | blockCount() const |
| bool | canPaste() const |
| bool | centerOnScroll() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() const |
| QTextCursor | cursorForPosition(const QPoint &pos) const |
| QRect | cursorRect(const QTextCursor &cursor) const |
| QRect | cursorRect() const |
| int | cursorWidth() const |
| QTextDocument * | document() const |
| QString | documentTitle() const |
| void | ensureCursorVisible() |
| QList<QTextEdit::ExtraSelection> | extraSelections() const |
| bool | find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| int | maximumBlockCount() const |
| void | mergeCurrentCharFormat(const QTextCharFormat &modifier) |
| void | moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor) |
| bool | overwriteMode() const |
| QString | placeholderText() const |
| void | print(QPagedPaintDevice *printer) const |
| void | setBackgroundVisible(bool visible) |
| void | setCenterOnScroll(bool enabled) |
| void | setCurrentCharFormat(const QTextCharFormat &format) |
| void | setCursorWidth(int width) |
| void | setDocument(QTextDocument *document) |
| void | setDocumentTitle(const QString &title) |
| void | setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections) |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
| void | setMaximumBlockCount(int maximum) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopDistance(qreal distance) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| qreal | tabStopDistance() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Реализованные публичные функции
| виртуальный QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
Public Slots
| void | appendHtml(const QString &html) |
| void | appendPlainText(const QString &text) |
| void | centerCursor() |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | selectAll() |
| void | setPlainText(const QString &text) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
Сигналы
| void | blockCountChanged(int newBlockCount) |
| void | copyAvailable(bool yes) |
| void | cursorPositionChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
| void | updateRequest(const QRect &rect, int dy) |
Protected Functions
| QRectF | blockBoundingGeometry(const QTextBlock &block) const |
| QRectF | blockBoundingRect(const QTextBlock &block) const |
| виртуальный bool | canInsertFromMimeData(const QMimeData *source) const |
| QPointF | contentOffset() const |
| виртуальный QMimeData * | createMimeDataFromSelection() const |
| QTextBlock | firstVisibleBlock() const |
| QAbstractTextDocumentLayout::PaintContext | getPaintContext() const |
| виртуальный void | insertFromMimeData(const QMimeData *source) |
Переопределённые защищённые функции
| виртуальный void | changeEvent(QEvent *e) override |
| виртуальный void | contextMenuEvent(QContextMenuEvent *event) override |
| виртуальный void | dragEnterEvent(QDragEnterEvent *e) override |
| виртуальный void | dragLeaveEvent(QDragLeaveEvent *e) override |
| виртуальный void | dragMoveEvent(QDragMoveEvent *e) override |
| виртуальный void | dropEvent(QDropEvent *e) override |
| виртуальный void | focusInEvent(QFocusEvent *e) override |
| виртуальный bool | focusNextPrevChild(bool next) override |
| виртуальный void | focusOutEvent(QFocusEvent *e) override |
| виртуальный void | inputMethodEvent(QInputMethodEvent *e) override |
| виртуальный void | keyPressEvent(QKeyEvent *e) override |
| виртуальный void | keyReleaseEvent(QKeyEvent *e) override |
| виртуальный void | mouseDoubleClickEvent(QMouseEvent *e) override |
| виртуальный void | mouseMoveEvent(QMouseEvent *e) override |
| виртуальный void | mousePressEvent(QMouseEvent *e) override |
| виртуальный void | mouseReleaseEvent(QMouseEvent *e) override |
| виртуальный void | paintEvent(QPaintEvent *e) override |
| виртуальный void | resizeEvent(QResizeEvent *e) override |
| виртуальный void | scrollContentsBy(int dx, int dy) override |
| виртуальный void | showEvent(QShowEvent *) override |
| виртуальный void | wheelEvent(QWheelEvent *e) override |
Подробное описание
Вступление и концепции
QPlainTextEdit — это продвинутый просмотрщик/редактор, поддерживающий обычный текст. Он оптимизирован для обработки больших документов и быстрого реагирования на действия пользователя.
QPlainText использует очень похожие технологии и концепции, что и QTextEdit, но оптимизирован для обработки простого текста.
QPlainTextEdit работает с абзацами и символами. Абзац — это отформатированная строка, которая обрезается по ширине виджета. По умолчанию при чтении обычного текста одна новая строка обозначает абзац. Документ состоит из нуля или более абзацев. Абзацы разделены жёсткими разрывами строк. Каждый символ в пределах абзаца имеет свои атрибуты, например, шрифт и цвет.
По умолчанию форма курсора мыши в QPlainTextEdit — Qt::IBeamCursor. Её можно изменить через свойство курсора viewport().
Использование QPlainTextEdit в качестве виджета отображения
Текст устанавливается или заменяется с помощью setPlainText(), что удаляет существующий текст и заменяет его текстом, переданным в setPlainText().
Текст можно вставлять с помощью класса QTextCursor или удобных функций insertPlainText(), appendPlainText() или paste().
По умолчанию, редактор текста переносит слова по пробелам, чтобы текст поместился в виджете. Функция setLineWrapMode() используется для указания типа переноса строки, WidgetWidth или NoWrap, если вы не хотите никакого переноса. Если вы используете перенос слов до ширины виджета WidgetWidth, вы можете указать, нужно ли разделять на пробелах или где угодно, с помощью setWordWrapMode().
Функция find() может использоваться для поиска и выделения заданной строки в тексте.
Если вы хотите ограничить общее количество абзацев в QPlainTextEdit, например, для просмотра журнала, то вы можете использовать свойство maximumBlockCount. Сочетание setMaximumBlockCount() и appendPlainText() превращает QPlainTextEdit в эффективный просмотрщик текстового журнала. Прокрутку можно уменьшить с помощью свойства centerOnScroll(), что сделает просмотрщик журналов еще быстрее. Текст может быть отформатирован ограниченным образом, либо с помощью подсветки синтаксиса (см. ниже), либо путем добавления отформатированного HTML-текста с помощью appendHtml(). QPlainTextEdit не поддерживает сложную отрисовку форматированного текста с таблицами и плавающими объектами, но поддерживает ограниченное форматирование абзацев, которое может потребоваться при просмотре журнала.
Сочетания клавиш для чтения
Когда QPlainTextEdit используется в режиме только для чтения, сочетания клавиш ограничены навигацией, и текст можно выделять только мышью:
| Нажатие клавиш | Действие |
|---|---|
| Qt::UpArrow | Перемещение на строку вверх. |
| Qt::DownArrow | Перемещение на строку вниз. |
| Qt::LeftArrow | Перемещение на один символ влево. |
| Qt::RightArrow | Перемещение на один символ вправо. |
| PageUp | Перемещение на одну страницу вверх. |
| PageDown | Перемещение на одну страницу вниз. |
| Home | Перемещение к началу текста. |
| End | Перемещение к концу текста. |
| Alt+Колёсико | Прокрутка страницы по горизонтали (Колёсико — колесо мыши). |
| Ctrl+Колёсико | Изменение масштаба текста. |
| Ctrl+A | Выделение всего текста. |
Использование QPlainTextEdit в качестве редактора
Вся информация об использовании QPlainTextEdit как виджета отображения также применима здесь.
Выделение текста обрабатывается классом QTextCursor, который предоставляет функциональность для создания выделений, извлечения содержимого текста или удаления выделений. Вы можете получить объект, соответствующий отображаемому курсору, используя метод textCursor(). Если вы хотите установить выделение в QPlainTextEdit, просто создайте его в объекте QTextCursor, а затем сделайте этот курсор видимым, используя setCursor(). Выделение можно скопировать в буфер обмена с помощью copy() или вырезать в буфер обмена с помощью cut(). Весь текст можно выделить с помощью selectAll().
QPlainTextEdit содержит объект QTextDocument, который можно получить с помощью метода document(). Вы также можете установить собственный объект документа с помощью setDocument(). QTextDocument излучает сигнал textChanged(), если текст меняется, а также предоставляет функцию isModified(), которая возвращает true, если текст был изменен с момента загрузки или с последнего вызова setModified со значением false в качестве аргумента. Кроме того, он предоставляет методы для отмены и повтора.
Подсветка синтаксиса
Как и QTextEdit, QPlainTextEdit работает вместе с QSyntaxHighlighter.
Сочетания клавиш для редактирования
Список сочетаний клавиш, реализованных для редактирования:
| Нажатие клавиш | Действие |
|---|---|
| Backspace | Удаляет символ слева от курсора. |
| Delete | Удаляет символ справа от курсора. |
| Ctrl+C | Копирует выделенный текст в буфер обмена. |
| Ctrl+Insert | Копирует выделенный текст в буфер обмена. |
| Ctrl+K | Удаляет до конца строки. |
| Ctrl+V | Вставляет текст из буфера обмена в редактор. |
| Shift+Insert | Вставляет текст из буфера обмена в редактор. |
| Ctrl+X | Удаляет выделенный текст и копирует его в буфер обмена. |
| Shift+Delete | Удаляет выделенный текст и копирует его в буфер обмена. |
| Ctrl+Z | Отменяет последнее действие. |
| Ctrl+Y | Повторяет последнее действие. |
| LeftArrow | Перемещает курсор на один символ влево. |
| Ctrl+LeftArrow | Перемещает курсор на одно слово влево. |
| RightArrow | Перемещает курсор на один символ вправо. |
| Ctrl+RightArrow | Перемещает курсор на одно слово вправо. |
| UpArrow | Перемещает курсор на одну строку вверх. |
| Ctrl+UpArrow | Перемещает курсор на одно слово вверх. |
| DownArrow | Перемещает курсор на одну строку вниз. |
| Ctrl+Down Arrow | Перемещает курсор на одно слово вниз. |
| PageUp | Перемещает курсор на одну страницу вверх. |
| PageDown | Перемещает курсор на одну страницу вниз. |
| Home | Перемещает курсор в начало строки. |
| Ctrl+Home | Перемещает курсор в начало текста. |
| End | Перемещает курсор в конец строки. |
| Ctrl+End | Перемещает курсор в конец текста. |
| Alt+Колёсико | Прокрутка страницы по горизонтали (Колёсико — колесо мыши). |
| Ctrl+Колёсико | Изменение масштаба текста. |
Для выделения (метки) текста удерживайте нажатой клавишу Shift, одновременно нажимая одну из клавиш перемещения, например, Shift+Стрелка вправо выделит символ справа, а Shift+Ctrl+Стрелка вправо выделит слово справа и т. д.
Отличия от QTextEdit
QPlainTextEdit — тонкий класс, реализованный с использованием большей части технологий, лежащих в основе QTextEdit и QTextDocument. Преимущества его производительности по сравнению с QTextEdit в основном обусловлены использованием другого упрощенного макета текста, называемого QPlainTextDocumentLayout, в документе текста (см. QTextDocument::setDocumentLayout()). Макет простого текста не поддерживает таблицы и вложенные фреймы и заменяет точное вычисление высоты пикселей подходом к прокрутке по строкам/абзацам соответственно. Это позволяет обрабатывать значительно более крупные документы и все равно перестраивать редактор с включенным переносом строк в реальном времени. Это также обеспечивает быстрый просмотр журнала (см. setMaximumBlockCount()).
См. также QTextDocument, QTextCursor, Пример приложения, Пример редактора кода, Пример подсветки синтаксиса и Обработка форматированного текста.
Документация по типам элементов
enum QPlainTextEdit::LineWrapMode
| Константа | Значение |
|---|---|
QPlainTextEdit::NoWrap |
0 |
QPlainTextEdit::WidgetWidth |
1 |
Документация свойств
backgroundVisible : bool
Это свойство определяет, виден ли фон палитры за пределами области документа.
Если установлено в true, то текстовый редактор рисует фон палитры в области просмотра, не занятой текстом документа. В противном случае, если установлено в false, фон не рисуется. Эта функция позволяет пользователю визуально различать область документа, окрашенную основным цветом палитры, и пустую область, не занятую документом.
По умолчанию значение равно false.
Функции доступа:
| bool | backgroundVisible() const |
| void | setBackgroundVisible(bool visible) |
blockCount : const int
Это свойство содержит количество блоков текста в документе.
По умолчанию, в пустом документе, это свойство содержит значение 1.
Функции доступа:
| int | blockCount() const |
centerOnScroll : bool
Это свойство определяет, нужно ли центрировать курсор на экране при прокрутке.
Если установлено в true, текстовый редактор прокручивает документ вертикально, чтобы сделать курсор видимым в центре области просмотра. Это также позволяет текстовому редактору прокручивать ниже конца документа. В противном случае, если установлено в false, текстовый редактор прокручивает минимально возможное количество, чтобы убедиться, что курсор виден. Такой же алгоритм применяется к любой новой строке, добавленной с помощью appendPlainText().
По умолчанию значение равно false.
Функции доступа:
| bool | centerOnScroll() const |
| void | setCenterOnScroll(bool enabled) |
См. также centerCursor() и ensureCursorVisible().
cursorWidth : int
Это свойство задаёт ширину курсора в пикселях. Значение по умолчанию равно 1.
Функции доступа:
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
documentTitle : QString
Это свойство содержит заголовок документа, извлечённый из текста.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
lineWrapMode : LineWrapMode
Это свойство содержит режим перевода строки.
Режим по умолчанию — WidgetWidth, который приводит к переводу слов по правому краю текстового редактора. Перевод осуществляется по пробелам, сохраняя целые слова. Если вам нужен перевод внутри слов, используйте setWordWrapMode().
Функции доступа:
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
maximumBlockCount : int
Это свойство содержит ограничение для блоков в документе.
Устанавливает максимальное количество блоков в документе. Если в документе больше блоков, чем указано в этом свойстве, блоки удаляются с начала документа.
Отрицательное или нулевое значение означает, что документ может содержать неограниченное количество блоков.
Значение по умолчанию равно 0.
Обратите внимание, что установка этого свойства немедленно применит ограничение к содержимому документа. Установка этого свойства также отключает историю отмены/повтора.
Функции доступа:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
overwriteMode : bool
Это свойство определяет, будет ли введённый пользователем текст перезаписывать существующий текст.
Как и во многих текстовых редакторах, виджет простого текстового редактора может быть настроен для вставки или перезаписи существующего текста новым текстом, введённым пользователем.
Если это свойство установлено в true, существующий текст перезаписывается, символ за символом, новым текстом; в противном случае текст вставляется в позицию курсора, смещая существующий текст.
По умолчанию это свойство установлено в false (новый текст не перезаписывает существующий).
Функции доступа:
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
Это свойство содержит текст-заполнитель редактора.
Установка этого свойства отображает текст-заполнитель серого цвета в редакторе, пока документ (document()) пустой.
По умолчанию это свойство содержит пустую строку.
Это свойство было введено в Qt 5.3.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
См. также document().
plainText : QString
Это свойство получает и устанавливает содержимое простого текстового редактора. Предыдущее содержимое удаляется, и история отмены/повтора сбрасывается при установке этого свойства. currentCharFormat() также сбрасывается, если textCursor() не находится в начале документа.
По умолчанию, для редактора без содержимого, это свойство содержит пустую строку.
Функции доступа:
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
Сигнал-уведомление:
| void | textChanged() |
readOnly : bool
Это свойство определяет, является ли текстовый редактор только для чтения.
В текстовом редакторе только для чтения пользователь может только перемещаться по тексту и выделять текст; изменение текста невозможно.
Значение этого свойства по умолчанию — false.
Функции доступа:
| bool | isReadOnly() const |
| void | setReadOnly(bool ro) |
tabChangesFocus : bool
Это свойство определяет, меняет ли Tab фокус или принимается как ввод.
В некоторых случаях текстовым редакторам не следует разрешать пользователю вводить табуляторы или изменять отступы с помощью клавиши Tab, так как это нарушает цепочку фокуса. Значение по умолчанию — false.
Функции доступа:
| bool | tabChangesFocus() const |
| void | setTabChangesFocus(bool b) |
tabStopDistance : qreal
Это свойство содержит расстояние до отступа табуляции в пикселях.
По умолчанию это свойство содержит значение 80.
Это свойство было введено в Qt 5.10.
Функции доступа:
| qreal | tabStopDistance() const |
| void | setTabStopDistance(qreal distance) |
textInteractionFlags : Qt::TextInteractionFlags
Определяет, как метка должна взаимодействовать с пользовательским вводом, если она отображает текст.
Если флаги содержат либо Qt::LinksAccessibleByKeyboard, либо Qt::TextSelectableByKeyboard, то политика фокуса также автоматически устанавливается в Qt::ClickFocus.
Значение по умолчанию зависит от того, является ли QPlainTextEdit только для чтения или редактируемым.
Функции доступа:
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
Это свойство определяет, включены ли функции отмены и повторения.
Пользователи могут отменить или повторить действия только в том случае, если это свойство имеет значение true и если есть действие, которое можно отменить (или повторить).
По умолчанию это свойство равно true.
Функции доступа:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
Это свойство содержит режим, который QPlainTextEdit будет использовать при обёртывании текста по словам.
По умолчанию это свойство установлено в QTextOption::WrapAtWordBoundaryOrAnywhere.
Функции доступа:
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
См. также QTextOption::WrapMode.
Документация по членам функций
QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
Конструирует QPlainTextEdit с родителем parent. Редактор текста будет отображать обычный текст text.
QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)
Конструирует пустой QPlainTextEdit с родителем parent.
[slot] void QPlainTextEdit::appendHtml(const QString &html)
Добавляет новый абзац с html в конец редактора текста.
[slot] void QPlainTextEdit::appendPlainText(const QString &text)
Добавляет новый абзац с text в конец редактора текста.
См. также appendHtml().
[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)
Этот сигнал генерируется всякий раз, когда меняется количество блоков. Новое количество блоков передается в newBlockCount.
[slot] void QPlainTextEdit::centerCursor()
Прокручивает документ для центрирования курсора по вертикали.
См. также ensureCursorVisible() и centerOnScroll.
[slot] void QPlainTextEdit::clear()
Удаляет весь текст из редактора текста.
Примечания:
- История отмены/повторения также очищается.
- currentCharFormat() сбрасывается, если textCursor() уже находится в начале документа.
См. также cut() и setPlainText().
[slot] void QPlainTextEdit::copy()
Копирует любой выделенный текст в буфер обмена.
См. также copyAvailable().
[signal] void QPlainTextEdit::copyAvailable(bool yes)
Этот сигнал генерируется при выделении или снятии выделения текста в редакторе текста.
Когда текст выделяется, этот сигнал будет выпущен со значением yes, установленным в true. Если текст не выделен или выделенный текст снят, этот сигнал выпущен со значением yes, установленным в false.
Если yes имеет значение true, то copy() может быть использован для копирования выделения в буфер обмена. Если yes имеет значение false, то copy() ничего не делает.
См. также selectionChanged().
[signal] void QPlainTextEdit::cursorPositionChanged()
Этот сигнал генерируется всякий раз, когда изменяется позиция курсора.
[slot] void QPlainTextEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его из редактора текста.
Если текст не выделен, ничего не происходит.
[slot] void QPlainTextEdit::insertPlainText(const QString &text)
Удобный слот, который вставляет text в текущую позицию курсора.
Он эквивалентен
edit->textCursor().insertText(text);
[signal] void QPlainTextEdit::modificationChanged(bool changed)
Этот сигнал генерируется всякий раз, когда содержимое документа изменяется таким образом, что влияет на состояние изменения. Если changed равно true, документ был изменен; в противном случае — false.
Например, вызов setModified(false) для документа, а затем вставка текста вызывает срабатывание сигнала. Если вы отменяете эту операцию, возвращая документ в его исходное неизменённое состояние, сигнал снова сработает.
[slot] void QPlainTextEdit::paste()
Вставляет текст из буфера обмена в редактор текста в текущей позиции курсора.
Если в буфере обмена нет текста, ничего не происходит.
Чтобы изменить поведение этой функции, т.е. изменить то, что QPlainTextEdit может вставить и как это происходит, переопределите виртуальные функции canInsertFromMimeData() и insertFromMimeData().
[slot] void QPlainTextEdit::redo()
Повторяет последнюю операцию.
Если нет операции для повторения, т.е. нет шага повтора в истории отмены/повторения, ничего не происходит.
См. также undo().
[signal] void QPlainTextEdit::redoAvailable(bool available)
Этот сигнал генерируется всякий раз, когда операции повтора становятся доступными (available равно true) или недоступными (available равно false).
[slot] void QPlainTextEdit::selectAll()
Выделяет весь текст.
См. также copy(), cut() и textCursor().
[signal] void QPlainTextEdit::selectionChanged()
Этот сигнал генерируется всякий раз, когда изменяется выделение.
См. также copyAvailable().
[slot] void QPlainTextEdit::setPlainText(const QString &text)
Изменяет текст редактора текста на строку text. Любой предыдущий текст удаляется.
text интерпретируется как обычный текст.
Примечания:
- История отмены/повторения также очищается.
- currentCharFormat() сбрасывается, если textCursor() уже находится в начале документа.
Примечание: Функция-сеттер для свойства plainText.
См. также toPlainText().
[signal] void QPlainTextEdit::textChanged()
Этот сигнал генерируется всякий раз, когда изменяется содержимое документа; например, при вставке или удалении текста, или при применении форматирования.
Примечание: Сигнал оповещения для свойства plainText.
[slot] void QPlainTextEdit::undo()
Отменяет последнее действие.
Если отменить нечего, то есть нет шага отмены в истории отмены/повтор, ничего не происходит.
См. также redo().
[signal] void QPlainTextEdit::undoAvailable(bool available)
Этот сигнал испускается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
Этот сигнал испускается, когда документ текста нуждается в обновлении указанной области rect. Если текст прокручивается, rect будет покрывать всю область просмотра. Если текст прокручивается вертикально, dy содержит количество пикселей, на которое была прокручена область просмотра.
Цель сигнала — поддерживать дополнительные виджеты в подклассах plain text edit, которые, например, отображают номера строк, точки останова или другую дополнительную информацию.
[slot] void QPlainTextEdit::zoomIn(int range = 1)
Увеличивает масштаб текста, увеличивая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.
См. также zoomOut().
[slot] void QPlainTextEdit::zoomOut(int range = 1)
Уменьшает масштаб текста, уменьшая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.
См. также zoomIn().
[virtual] QPlainTextEdit::~QPlainTextEdit()
Деструктор.
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
Возвращает ссылку на якорь в позиции pos или пустую строку, если якоря в этой точке нет.
Эта функция была введена в Qt 4.7.
[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
Возвращает прямоугольник, ограничивающий текст block в координатах содержимого. Переведите прямоугольник с помощью contentOffset(), чтобы получить визуальные координаты в области просмотра.
См. также firstVisibleBlock() и blockBoundingRect().
[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
Возвращает прямоугольник, ограничивающий текст block в собственных координатах блока.
См. также blockBoundingGeometry().
[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
Эта функция возвращает true, если содержимое объекта MIME-данных, указанного параметром source, может быть декодировано и вставлено в документ. Она вызывается, например, во время операции перетаскивания, когда курсор мыши попадает в этот виджет, и необходимо определить, можно ли принять перетаскивание.
bool QPlainTextEdit::canPaste() const
Возвращает значение, показывающее, можно ли вставить текст из буфера обмена в textedit.
[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
Переопределяет: QFrame::changeEvent(QEvent *ev).
[protected] QPointF QPlainTextEdit::contentOffset() const
Возвращает исходную точку содержимого в координатах области просмотра.
Исходная точка содержимого текстового поля всегда находится в верхнем левом углу первого видимого блока текста. Смещение содержимого отличается от (0,0), когда текст был прокручен по горизонтали или когда первый видимый блок частично выведен за экран, т. е. видимый текст не начинается с первой строки первого видимого блока, или когда первый видимый блок — это первый блок, и редактор отображает отступ.
См. также firstVisibleBlock(), horizontalScrollBar() и verticalScrollBar().
[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределяет: QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).
Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().
Если вы не хотите, чтобы текстовый редактор имел контекстное меню, вы можете установить его contextMenuPolicy в Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращенное меню.
Информация о событии передается в объекте event.
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}
[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const
Эта функция возвращает новый объект MIME-данных для представления содержимого текущего выделения текстового редактора. Она вызывается, когда выделение необходимо заключить в новый объект QMimeData; например, когда начинается операция перетаскивания или когда данные копируются в буфер обмена.
Если вы переопределите эту функцию, имейте в виду, что владение возвращенным объектом QMimeData передается вызывающей стороне. Выделение можно получить, используя функцию textCursor().
QMenu *QPlainTextEdit::createStandardContextMenu()
Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь щелкает правой кнопкой мыши по текстовому редактору. Она вызывается обработчиком по умолчанию contextMenuEvent(). Владение всплывающим меню передаётся вызывающей стороне.
Рекомендуется использовать версию createStandardContextMenu(QPoint), которая позволит активировать действия, зависящие от места клика пользователя.
QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь щелкает правой кнопкой мыши по текстовому редактору. Она вызывается обработчиком по умолчанию contextMenuEvent() и принимает позицию position в координатах документа, где был клик мышью. Это может активировать действия, чувствительные к позиции, где пользователь кликнул. Владение всплывающим меню передаётся вызывающей стороне.
Эта функция была введена в Qt 5.5.
QTextCharFormat QPlainTextEdit::currentCharFormat() const
Возвращает формат символа, используемый при вставке нового текста.
См. также setCurrentCharFormat().
QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const
возвращает QTextCursor в позиции pos (в координатах области просмотра).
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
возвращает прямоугольник (в координатах области просмотра), который включает cursor.
QRect QPlainTextEdit::cursorRect() const
возвращает прямоугольник (в координатах области просмотра), который включает курсор текстового редактора.
QTextDocument *QPlainTextEdit::document() const
Возвращает указатель на базовый документ.
См. также setDocument().
[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределяет: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределяет: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределяет: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)
Переопределяет: QAbstractScrollArea::dropEvent(QDropEvent *event).
void QPlainTextEdit::ensureCursorVisible()
Обеспечивает видимость курсора, прокручивая текстовое поле при необходимости.
См. также centerCursor() и centerOnScroll.
QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const
Возвращает ранее заданные дополнительные выделения.
См. также setExtraSelections().
bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Находит следующее вхождение строки exp с заданными options. Возвращает true если exp найдена и меняет курсор, чтобы выделить совпадение; в противном случае возвращает false.
bool QPlainTextEdit::find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Это перегруженный метод.
Находит следующее вхождение, соответствующее регулярному выражению exp, с заданными options. Опция QTextDocument::FindCaseSensitively игнорируется для этой перегрузки, используйте QRegExp::caseSensitivity вместо неё.
Возвращает true если совпадение найдено и меняет курсор, чтобы выделить совпадение; в противном случае возвращает false.
Этот метод был введён в Qt 5.3.
bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Это перегруженный метод.
Находит следующее вхождение, соответствующее регулярному выражению exp, с заданными options. Опция QTextDocument::FindCaseSensitively игнорируется для этой перегрузки, используйте QRegularExpression::CaseInsensitiveOption вместо неё.
Возвращает true если совпадение найдено и меняет курсор, чтобы выделить совпадение; в противном случае возвращает false.
Этот метод был введён в Qt 5.13.
[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const
Возвращает первый видимый блок.
См. также blockBoundingRect().
[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)
Переопределяет: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)
Переопределяет: QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
Переопределяет: QWidget::focusOutEvent(QFocusEvent *event).
[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
Возвращает контекст отрисовки для viewport(), полезно только при переопределении paintEvent().
[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределяет: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределяет: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
Этот метод вставляет содержимое объекта MIME данных, указанного source, в текстовое поле в текущей позиции курсора. Вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена, или когда текстовое поле принимает данные из операции перетаскивания.
[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
Переопределяет: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределяет: QWidget::keyReleaseEvent(QKeyEvent *event).
[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)
Загружает ресурс, указанный type и name.
Этот метод является расширением QTextDocument::loadResource().
См. также QTextDocument::loadResource().
void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Объединяет свойства, указанные в modifier, в текущий формат символа, вызывая QTextCursor::mergeCharFormat на курсоре редактора. Если в редакторе выделен текст, то свойства modifier непосредственно применяются к выделению.
См. также QTextCursor::mergeCharFormat().
[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Перемещает курсор, выполняя заданную operation.
Если mode равно QTextCursor::KeepAnchor, курсор выделяет текст, над которым он перемещается. Это тот же эффект, который пользователь получает, удерживая нажатой клавишу Shift и перемещая курсор с помощью клавиш со стрелками.
См. также QTextCursor::movePosition().
[override virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)
Переопределяет: QAbstractScrollArea::paintEvent(QPaintEvent *event).
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
Удобная функция для печати документа текстового поля на заданном printer. Это эквивалентно вызову метода print документа напрямую, за исключением того, что эта функция также поддерживает QPrinter::Selection в качестве диапазона печати.
См. также QTextDocument::print().
[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
Переопределяет: QAbstractScrollArea::resizeEvent(QResizeEvent *event).
END_OF_DOCUMENT_MARKER
[override virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)
Реализует: QAbstractScrollArea::scrollContentsBy(int dx, int dy).
void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
Устанавливает формат символов, который используется при вставке нового текста в format, вызывая QTextCursor::setCharFormat() для курсора редактора. Если в редакторе есть выделение, то формат символов непосредственно применяется к выделению.
См. также currentCharFormat().
void QPlainTextEdit::setDocument(QTextDocument *document)
Устанавливает document в качестве нового документа текстового редактора.
Родительский QObject предоставленного документа остается владельцем объекта. Если текущий документ является дочерним элементом текстового редактора, то он удаляется.
Документ должен иметь макет документа, наследуемый от QPlainTextDocumentLayout (см. QTextDocument::setDocumentLayout()).
См. также document().
void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
Эта функция позволяет временно помечать определённые области в документе заданным цветом, указанным как selections. Это может быть полезно, например, в редакторе программ для выделения целой строки текста заданным цветом фона, чтобы указать на наличие точки останова.
См. также QTextEdit::ExtraSelection и extraSelections().
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
Устанавливает видимый cursor.
См. также textCursor().
[override virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)
Реализует: QWidget::showEvent(QShowEvent *event).
QTextCursor QPlainTextEdit::textCursor() const
Возвращает копию QTextCursor, которая представляет текущий видимый курсор. Обратите внимание, что изменения в возвращённом курсоре не влияют на курсор QPlainTextEdit; используйте setTextCursor() для обновления видимого курсора.
См. также setTextCursor().
QString QPlainTextEdit::toPlainText() const
Возвращает текст текстового поля в виде простого текста.
Примечание: Функция-получатель для свойства plainText.
См. также QPlainTextEdit::setPlainText().
[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
Реализует: QAbstractScrollArea::wheelEvent(QWheelEvent *e).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qplaintextedit.html