Класс QPlainTextEdit
Класс QPlainTextEdit предоставляет виджет, используемый для редактирования и отображения простого текста. Подробнее...
| Заголовок: | #include <QPlainTextEdit> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QAbstractScrollArea |
Общественные типы
| перечисление | 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 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 |
Реализованные общедоступные функции
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
Открытые слоты
| void | appendHtml(const QString &html) |
| void | appendPlainText(const QString &text) |
| void | centreCursor() |
| void | очистить() |
| void | копировать() |
| void | вырезать() |
| void | вставитьОбычныйТекст(const QString &text) |
| void | вставить() |
| void | повторить() |
| void | выделитьВсё() |
| void | установитьОбычныйТекст(const QString &text) |
| void | отменить() |
| void | увеличитьМасштаб(int range = 1) |
| void | уменьшитьМасштаб(int range = 1) |
Сигналы
| void | изменилосьКоличествоБлоков(int newBlockCount) |
| void | копированиеДоступно(bool yes) |
| void | изменилосьПоложениеКурсора() |
| void | изменилисьМодификации(bool changed) |
| void | повторениеДоступно(bool available) |
| void | выделениеИзменилось() |
| void | текстИзменился() |
| void | отменаДоступна(bool available) |
| void | запросОбновления(const QRect &rect, int dy) |
Защищенные Функции
| QRectF | геометрияОграничивающегоБлока(const QTextBlock &block) const |
| QRectF | прямоугольникОграничивающегоБлока(const QTextBlock &block) const |
| virtual bool | можноВставитьИзMimeData(const QMimeData *source) const |
| QPointF | смещениеСодержимого() const |
| virtual QMimeData * | создатьMimeDataИзВыделения() const |
| QTextBlock | первыйВидимыйБлок() const |
| QAbstractTextDocumentLayout::PaintContext | получитьКонтекстРисования() const |
| virtual void | вставитьИзMimeData(const QMimeData *source) |
Переопределённые Защищенные Функции
| virtual void | событиеИзменения(QEvent *e) override |
| virtual void | событиеКонтекстногоМеню(QContextMenuEvent *event) override |
| virtual void | событиеВходаПеретаскивания(QDragEnterEvent *e) override |
| virtual void | событиеВыходаПеретаскивания(QDragLeaveEvent *e) override |
| virtual void | событиеДвиженияПеретаскивания(QDragMoveEvent *e) override |
| virtual void | событиеСброса(QDropEvent *e) override |
| virtual void | событиеВходаФокуса(QFocusEvent *e) override |
| virtual bool | фокусСледующегоПредыдущегоПоля(bool next) override |
| virtual void | событиеВыходаФокуса(QFocusEvent *e) override |
| virtual void | событиеМетодаВвода(QInputMethodEvent *e) override |
| virtual void | событиеНажатияКлавиши(QKeyEvent *e) override |
| virtual void | событиеОтпускаКлавиши(QKeyEvent *e) override |
| virtual void | событиеДвойногоНажатияМыши(QMouseEvent *e) override |
| virtual void | событиеДвиженияМыши(QMouseEvent *e) override |
| virtual void | событиеНажатияМыши(QMouseEvent *e) override |
| virtual void | событиеОтпускаМыши(QMouseEvent *e) override |
| virtual void | событиеРисования(QPaintEvent *e) override |
| virtual void | событиеИзмененияРазмер(QResizeEvent *e) override |
| virtual void | сместитьСодержимое(int dx, int dy) override |
| virtual void | событиеОтображения(QShowEvent *) override |
| virtual void | событиеКолесаМыши(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+Wheel | Прокручивает страницу по горизонтали (Wheel — колесо мыши). |
| Ctrl+Wheel | Масштабирует текст. |
| 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+Wheel | Прокручивает страницу по горизонтали (Wheel — колесо мыши). |
| Ctrl+Wheel | Масштабирует текст. |
Для выделения (разметки) текста удерживайте нажатой клавишу Shift и нажмите одну из клавиш перемещения, например, Shift+Right Arrow выделит символ справа, а Shift+Ctrl+Right Arrow — слово справа и т. д.
Отличия от QTextEdit
QPlainTextEdit — это тонкий класс, реализованный с использованием большей части технологий, стоящих за QTextEdit и QTextDocument. Преимущества производительности по сравнению с QTextEdit в основном обусловлены использованием другого и упрощенного макета текста, называемого QPlainTextDocumentLayout, в документе текста (см. QTextDocument::setDocumentLayout()). Макет документа простого текста не поддерживает таблицы и вложенные фреймы, и заменяет точный расчет высоты пикселей на подход к прокрутке строка за строкой, соответственно, абзац за абзацем. Это позволяет обрабатывать значительно большие документы и при этом изменять размер редактора при включенном переносе строк в реальном времени. Это также ускоряет просмотр журналов (см. setMaximumBlockCount()).
См. также QTextDocument, QTextCursor, Qt Widgets - Пример приложения, Пример редактора кода, Пример синтаксического выделения и Обработка форматированного текста.
Документация по типу членов
перечисление QPlainTextEdit::LineWrapMode
| Постоянная | Значение |
|---|---|
QPlainTextEdit::NoWrap |
0 |
QPlainTextEdit::WidgetWidth |
1 |
Документация свойств
backgroundVisible : bool
Это свойство содержит информацию о том, отображается ли фон палитры вне области документа.
Если значение установлено в true, редактор простого текста рисует фон палитры в области окна просмотра, не покрытой текстовым документом. В противном случае, если значение установлено в false, фон не рисуется. Эта функция позволяет пользователю визуально различать область документа, окрашенную основным цветом палитры, и пустую область, не покрытую документом.
По умолчанию значение равно false.
Функции доступа:
| bool | backgroundVisible() const |
| void | setBackgroundVisible(bool visible) |
[read-only] 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) |
[since 5.3] 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) |
[since 5.10] tabStopDistance : qreal
Это свойство содержит расстояние до отступа в пикселях.
По умолчанию это свойство содержит значение 80 пикселей.
Не устанавливайте значение меньше horizontalAdvance() символа QChar::VisualTabCharacter, иначе символ табуляции будет отображаться неполностью.
Это свойство было введено в Qt 5.10.
Функции доступа:
| qreal | tabStopDistance() const |
| void | setTabStopDistance(qreal distance) |
См. также QTextOption::ShowTabsAndSpaces и QTextDocument::defaultTextOption.
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 содержит количество пикселей, на которое была прокручена область видимости.
Цель сигнала — поддержка дополнительных виджетов в подклассах простого текстового редактора, например, для отображения номеров строк, точек останова или другой дополнительной информации.
[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 или пустую строку, если в этой точке нет якорной точки.
[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
Возвращает значение, указывающее, можно ли вставить текст из буфера обмена в текстовый редактор.
[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), которая позволит включить действия, чувствительные к месту щелчка пользователя.
[since 5.5] 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.
[since 5.13] 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).
[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-6.2/qplaintextedit.html