Класс QPlainTextEdit
Класс QPlainTextEdit предоставляет виджет для редактирования и отображения простого текста. Подробнее...
| Заголовок: | #include <QPlainTextEdit> |
| qmake: | QT += widgets |
| С момента: | Qt 4.4 |
| Наследует: | QAbstractScrollArea |
Публичные типы
| перечисление | LineWrapMode { NoWrap, WidgetWidth } |
Свойства
|
|
- 3 свойства унаследованы от QAbstractScrollArea
- 6 свойств унаследованы от QFrame
- 58 свойств унаследованы от QWidget
- 1 свойство унаследовано от QObject
Публичные функции
| QPlainTextEdit(QWidget *parent = Q_NULLPTR) | |
| QPlainTextEdit(const QString &text, QWidget *parent = Q_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 | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| 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(LineWrapMode mode) |
| void | setMaximumBlockCount(int maximum) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopWidth(int width) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| int | tabStopWidth() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Реализованные публичные функции
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const |
- 20 общедоступных функций, унаследованных от QAbstractScrollArea
- 14 общедоступных функций, унаследованных от QFrame
- 211 общедоступных функций, унаследованных от QWidget
- 31 общедоступных функций, унаследованных от QObject
- 14 общедоступных функций, унаследованных от QPaintDevice
Общедоступные слоты
| 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) |
Защищенные функции
| QRectF | blockBoundingGeometry(const QTextBlock &block) const |
| QRectF | blockBoundingRect(const QTextBlock &block) const |
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| QPointF | contentOffset() const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| QTextBlock | firstVisibleBlock() const |
| QAbstractTextDocumentLayout::PaintContext | getPaintContext() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
Переопределённые защищённые функции
| virtual void | changeEvent(QEvent *e) |
| virtual void | contextMenuEvent(QContextMenuEvent *event) |
| virtual void | dragEnterEvent(QDragEnterEvent *e) |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) |
| virtual void | dragMoveEvent(QDragMoveEvent *e) |
| virtual void | dropEvent(QDropEvent *e) |
| virtual void | focusInEvent(QFocusEvent *e) |
| virtual bool | focusNextPrevChild(bool next) |
| virtual void | focusOutEvent(QFocusEvent *e) |
| virtual void | inputMethodEvent(QInputMethodEvent *e) |
| virtual void | keyPressEvent(QKeyEvent *e) |
| virtual void | keyReleaseEvent(QKeyEvent *e) |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) |
| virtual void | mouseMoveEvent(QMouseEvent *e) |
| virtual void | mousePressEvent(QMouseEvent *e) |
| virtual void | mouseReleaseEvent(QMouseEvent *e) |
| virtual void | paintEvent(QPaintEvent *e) |
| virtual void | resizeEvent(QResizeEvent *e) |
| virtual void | scrollContentsBy(int dx, int dy) |
| virtual void | showEvent(QShowEvent *) |
| virtual void | wheelEvent(QWheelEvent *e) |
- 20 защищенных функций, унаследованных от QAbstractScrollArea
- 4 защищенных функций, унаследованных от QFrame
- 35 защищенных функций, унаследованных от QWidget
- 9 защищенных функций, унаследованных от QObject
- 1 защищенная функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 5 статических публичных членов, унаследованных от QWidget
- 11 статических публичных членов, унаследованных от QObject
- 1 защищённый слот, унаследованный от QWidget
Подробное описание
Класс QPlainTextEdit предоставляет виджет, используемый для редактирования и отображения простого текста.
Введение и концепции
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, Пример приложения, Пример редактора кода, Пример подсветки синтаксиса и Обработка форматированного текста.
Документация по типам членов
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().
Функции доступа:
| LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(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
Это свойство получает и устанавливает содержимое редактора простого текста. Предыдущее содержимое удаляется, а история отмены/повтора сбрасывается при установке этого свойства.
По умолчанию для редактора без содержимого это свойство содержит пустую строку.
Функции доступа:
| 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) |
tabStopWidth : int
Это свойство содержит ширину отступа ввода табуляции в пикселях.
По умолчанию это свойство содержит значение 80.
Функции доступа:
| int | tabStopWidth() const |
| void | setTabStopWidth(int width) |
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(QWidget *parent = Q_NULLPTR)
Создает пустой QPlainTextEdit с родителем parent.
QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = Q_NULLPTR)
Создает QPlainTextEdit с родителем parent. Текстовое поле будет отображать обычный текст text.
[virtual] QPlainTextEdit::~QPlainTextEdit()
Деструктор.
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
Возвращает ссылку на якорь в позиции pos или пустую строку, если в этой точке нет якоря.
Эта функция была добавлена в Qt 4.7.
[slot] void QPlainTextEdit::appendHtml(const QString &html)
Добавляет новый абзац с html в конец текстового поля.
[slot] void QPlainTextEdit::appendPlainText(const QString &text)
Добавляет новый абзац с text в конец текстового поля.
См. такжеappendHtml().
[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
Возвращает прямоугольник, ограничивающий текст block в координатах содержимого. Переведите прямоугольник с помощью contentOffset() для получения визуальных координат на области просмотра.
См. такжеfirstVisibleBlock() и blockBoundingRect().
[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
Возвращает прямоугольник, ограничивающий текст block в координатах самого блока.
См. такжеblockBoundingGeometry().
[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)
Этот сигнал испускается всякий раз, когда меняется количество блоков. Новое количество блоков передается в newBlockCount.
[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
Эта функция возвращает true, если содержимое объекта MIME-данных, указанного source, может быть декодировано и вставлено в документ. Она вызывается, например, при перетаскивании, когда указатель мыши входит в это виджет, и необходимо определить, можно ли принять перетаскивание.
bool QPlainTextEdit::canPaste() const
Возвращает значение, указывающее, можно ли вставить текст из буфера обмена в textedit.
[slot] void QPlainTextEdit::centerCursor()
Прокручивает документ для центрирования курсора по вертикали.
См. такжеensureCursorVisible() и centerOnScroll.
[virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
Переопределено из QWidget::changeEvent().
[slot] void QPlainTextEdit::clear()
Удаляет весь текст в текстовом поле.
Обратите внимание, что история отмены/повтора очищается этой функцией.
См. такжеcut() и setPlainText().
[protected] QPointF QPlainTextEdit::contentOffset() const
Возвращает начало содержимого в координатах области просмотра.
Начало содержимого текстового поля всегда находится в верхнем левом углу первого видимого блока текста. Начало содержимого отличается от (0,0), когда текст был прокручен по горизонтали или когда первый видимый блок был частично прокручен за экран, т.е. видимый текст не начинается с первой строки первого видимого блока, или когда первый видимый блок является самым первым блоком и редактор отображает отступ.
См. такжеfirstVisibleBlock(), horizontalScrollBar() и verticalScrollBar().
[virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QWidget::contextMenuEvent().
Отображает стандартное контекстное меню, созданное с помощью 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;
}
[slot] void QPlainTextEdit::copy()
Копирует выделенный текст в буфер обмена.
См. такжеcopyAvailable().
[signal] void QPlainTextEdit::copyAvailable(bool yes)
Этот сигнал испускается, когда текст выделен или снят с выделения в текстовом поле.
Когда текст выделен, этот сигнал будет испущен со значением yes, установленным в true. Если текст не выделен или если выделенный текст снят с выделения, этот сигнал испускается со значением yes, установленным в false.
Если yes равно true, то copy() можно использовать для копирования выделения в буфер обмена. Если yes равно false, то copy() ничего не делает.
См. такжеselectionChanged().
[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 (в координатах области просмотра).
[signal] void QPlainTextEdit::cursorPositionChanged()
Этот сигнал испускается всякий раз, когда меняется положение курсора.
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
возвращает прямоугольник (в координатах области просмотра), который включает cursor.
QRect QPlainTextEdit::cursorRect() const
возвращает прямоугольник (в координатах области просмотра), который включает курсор поля редактирования текста.
[slot] void QPlainTextEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его из поля редактирования текста.
Если текст не выделен, ничего не происходит.
QTextDocument *QPlainTextEdit::document() const
Возвращает указатель на базовый документ.
См. также setDocument().
[virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QWidget::dragEnterEvent().
[virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QWidget::dragLeaveEvent().
[virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QWidget::dragMoveEvent().
[virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)
Переопределено из QWidget::dropEvent().
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.
[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const
Возвращает первый видимый блок.
См. также blockBoundingRect().
[virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)
Переопределено из QWidget::focusInEvent().
[virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)
Переопределено из QWidget::focusNextPrevChild().
[virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
Переопределено из QWidget::focusOutEvent().
[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
Возвращает контекст отрисовки для viewport(), полезно только при переопределении paintEvent().
[virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределено из QWidget::inputMethodEvent().
[virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределено из QWidget::inputMethodQuery().
[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
Эта функция вставляет содержимое объекта MIME-данных, указанного source, в поле редактирования текста в текущей позиции курсора. Она вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена или когда поле редактирования текста принимает данные из операции перетаскивания.
[slot] void QPlainTextEdit::insertPlainText(const QString &text)
Удобный слот, который вставляет text в текущей позиции курсора.
Эквивалентно
edit->textCursor().insertText(text);
[virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
Переопределено из QWidget::keyPressEvent().
[virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределено из QWidget::keyReleaseEvent().
[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().
[signal] void QPlainTextEdit::modificationChanged(bool changed)
Этот сигнал испускается всякий раз, когда содержимое документа изменяется таким образом, что затрагивает состояние модификации. Если changed имеет значение true, документ был изменён; в противном случае — false.
Например, вызов setModified(false) для документа, а затем вставка текста вызывает испускание сигнала. Если вы отменяете эту операцию, что приводит к возврату документа в исходное неизменённое состояние, сигнал снова будет испущен.
[virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределено из QWidget::mouseDoubleClickEvent().
[virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределено из QWidget::mouseMoveEvent().
[virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
Переопределено из QWidget::mousePressEvent().
[virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределено из QWidget::mouseReleaseEvent().
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Перемещает курсор, выполняя заданную operation.
Если mode имеет значение QTextCursor::KeepAnchor, курсор выделяет текст, над которым он перемещается. Это такой же эффект, которого пользователь достигает, удерживая нажатой клавишу Shift и перемещая курсор с помощью клавиш управления курсором.
См. также QTextCursor::movePosition().
[virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)
Переопределено из QWidget::paintEvent().
[slot] void QPlainTextEdit::paste()
Вставляет текст из буфера обмена в текстовый редактор в текущей позиции курсора.
Если в буфере обмена нет текста, ничего не происходит.
Для изменения поведения этой функции, т. е. для изменения того, что QPlainTextEdit может вставить и как это происходит, переопределите виртуальные функции canInsertFromMimeData() и insertFromMimeData().
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
Функция для удобства печати документа текстового редактора в указанном printer. Это эквивалентно вызову метода печати непосредственно на документе, за исключением того, что эта функция также поддерживает QPrinter::Selection в качестве диапазона печати.
См. также QTextDocument::print().
[slot] void QPlainTextEdit::redo()
Повторяет последнюю операцию.
Если нет операции для повторения, т. е. нет шага повтора в истории отмены/повторной операции, ничего не происходит.
См. также undo().
[signal] void QPlainTextEdit::redoAvailable(bool available)
Этот сигнал испускается всякий раз, когда операции повтора становятся доступными (available равно true) или недоступными (available равно false).
[virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
Переопределено из QWidget::resizeEvent().
[virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)
Переопределено из QAbstractScrollArea::scrollContentsBy().
[slot] void QPlainTextEdit::selectAll()
Выделяет весь текст.
См. также copy(), cut() и textCursor().
[signal] void QPlainTextEdit::selectionChanged()
Этот сигнал испускается всякий раз, когда изменяется выделение.
См. также copyAvailable().
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().
[slot] void QPlainTextEdit::setPlainText(const QString &text)
Изменяет текст текстового редактора на строку text. Любой предыдущий текст удаляется.
text интерпретируется как обычный текст.
Обратите внимание, что история отмены/повторной операции очищается этой функцией.
Примечание: Метод-сеттер для свойства plainText.
См. также toPlainText().
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
Устанавливает видимый cursor.
См. также textCursor().
[virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)
Переопределено из QWidget::showEvent().
[signal] void QPlainTextEdit::textChanged()
Этот сигнал испускается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или при применении форматирования.
Примечание: Сигнал-уведомление для свойства plainText.
QTextCursor QPlainTextEdit::textCursor() const
Возвращает копию QTextCursor, представляющей текущий видимый курсор. Обратите внимание, что изменения в возвращённом курсоре не влияют на курсор QPlainTextEdit; используйте setTextCursor() для обновления видимого курсора.
См. также setTextCursor().
QString QPlainTextEdit::toPlainText() const
Возвращает текст текстового редактора в виде простого текста.
Примечание: Метод-геттер для свойства plainText.
См. также QPlainTextEdit::setPlainText().
[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 содержит количество пикселей, на которое была прокручена область просмотра.
Цель сигнала — поддержка дополнительных виджетов в подклассах QPlainTextEdit, например, для отображения номеров строк, точек останова или другой дополнительной информации.
[virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
Переопределено из QWidget::wheelEvent().
[slot] void QPlainTextEdit::zoomIn(int range = 1)
Увеличивает масштаб текста, увеличивая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.
См. также zoomOut().
[slot] void QPlainTextEdit::zoomOut(int range = 1)
Это перегруженный метод.
Уменьшает масштаб текста, уменьшая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.
См. также zoomIn().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qplaintextedit.html