Класс QPlainTextEdit
Класс QPlainTextEdit предоставляет виджет для редактирования и отображения простого текста. Подробнее...
| Заголовок: | #include <QPlainTextEdit> |
| qmake: | QT += widgets |
| С момента: | Qt 4.4 |
| Наследует: | QAbstractScrollArea |
Общедоступные типы
| Перечисление | LineWrapMode { NoWrap, WidgetWidth } |
Свойства
|
|
- 3 свойства унаследованы от QAbstractScrollArea
- 6 свойств унаследованы от QFrame
- 59 свойств унаследованы от QWidget
- 1 свойство унаследовано от QObject
Общедоступные функции
| QPlainTextEdit(QWidget *parent = nullptr) | |
| QPlainTextEdit(const QString &text, 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 | 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 |
- 20 общедоступных функций, унаследованных от QAbstractScrollArea
- 14 общедоступных функций, унаследованных от QFrame
- 214 общедоступных функций, унаследованных от QWidget
- 34 общедоступных функций, унаследованных от 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) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual void | showEvent(QShowEvent *) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
- 20 защищенных функций, унаследованных от QAbstractScrollArea
- 4 защищенных функций, унаследованных от QFrame
- 35 защищенных функций, унаследованных от QWidget
- 9 защищенных функций, унаследованных от QObject
- 1 защищенная функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 1 общедоступная переменная, унаследованная от QObject
- 5 статические общедоступные члены, унаследованные от QWidget
- 10 статических общедоступных членов, унаследованных от QObject
- 1 защищённый слот, унаследованный от QWidget
- 2 защищенных переменных, унаследованных от QObject
- 1 защищенный тип, унаследованный от QPaintDevice
Подробное описание
Класс 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 | Перемещает вверх на одну страницу (viewport). |
| PageDown | Перемещает вниз на одну страницу (viewport). |
| 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+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().
Функции доступа:
| 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
Это свойство получает и устанавливает содержимое простого текстового редактора. Предыдущее содержимое удаляется, и история отмены/повтора сбрасывается при установке этого свойства.
По умолчанию, для редактора без содержимого, это свойство содержит пустую строку.
Функции доступа:
| 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.
Функции доступа:
| 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 = nullptr)
Создаёт пустой QPlainTextEdit с родителем parent.
QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = 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
Возвращает значение, указывающее, можно ли вставить текст из буфера обмена в текстовый редактор.
[slot] void QPlainTextEdit::centerCursor()
Прокручивает документ для центрирования курсора по вертикали.
См. также ensureCursorVisible() и centerOnScroll.
[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
Переопределено из QFrame::changeEvent().
[slot] void QPlainTextEdit::clear()
Удаляет весь текст в текстовом редакторе.
Обратите внимание, что история отмены/повтора очищается этой функцией.
См. также cut() и setPlainText().
[protected] QPointF QPlainTextEdit::contentOffset() const
Возвращает начало содержимого в координатах области просмотра.
Начальная точка содержимого текстового редактора всегда находится в верхнем левом углу первого видимого блока текста. Смещение содержимого отличается от (0,0), когда текст был прокручен по горизонтали или когда первый видимый блок был частично прокручен за экран, т.е. видимый текст не начинается с первой строки первого видимого блока, или когда первый видимый блок является самым первым блоком, и редактор отображает отступ.
См. также firstVisibleBlock(), horizontalScrollBar(), и verticalScrollBar().
[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QAbstractScrollArea::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 (в координатах области просмотра).
void QPlainTextEdit::cursorPositionChanged()
Этот сигнал излучается всякий раз, когда меняется положение курсора.
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
Возвращает прямоугольник (в координатах области просмотра), содержащий cursor.
QRect QPlainTextEdit::cursorRect() const
Возвращает прямоугольник (в координатах области просмотра), содержащий курсор области редактирования текста.
void QPlainTextEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его из области редактирования.
Если текст не выделен, ничего не происходит.
QTextDocument *QPlainTextEdit::document() const
Возвращает указатель на базовый документ.
См. также setDocument().
void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QAbstractScrollArea::dragEnterEvent().
void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QAbstractScrollArea::dragLeaveEvent().
void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QAbstractScrollArea::dragMoveEvent().
void QPlainTextEdit::dropEvent(QDropEvent *e)
Переопределено из QAbstractScrollArea::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.
QTextBlock QPlainTextEdit::firstVisibleBlock() const
Возвращает первый видимый блок.
См. также blockBoundingRect().
void QPlainTextEdit::focusInEvent(QFocusEvent *e)
Переопределено из QWidget::focusInEvent().
bool QPlainTextEdit::focusNextPrevChild(bool next)
Переопределено из QWidget::focusNextPrevChild().
void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
Переопределено из QWidget::focusOutEvent().
QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
Возвращает контекст рисования для viewport(), полезно только при переопределении paintEvent().
void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределено из QWidget::inputMethodEvent().
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределено из QWidget::inputMethodQuery().
void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
Эта функция вставляет содержимое объекта MIME данных, указанного source, в область редактирования текста в текущей позиции курсора. Она вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена, или когда область редактирования принимает данные из операции перетаскивания.
void QPlainTextEdit::insertPlainText(const QString &text)
Удобный слот, который вставляет text в текущей позиции курсора.
Эквивалентно
edit->textCursor().insertText(text);
void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
Переопределено из QAbstractScrollArea::keyPressEvent().
void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределено из QWidget::keyReleaseEvent().
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 истинно, документ был изменён; в противном случае это ложь.
Например, вызов setModified(false) для документа, а затем вставка текста вызывает испускание сигнала. Если вы отменяете эту операцию, в результате чего документ возвращается к своему исходному неизменённому состоянию, сигнал будет испущен снова.
[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseDoubleClickEvent().
[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseMoveEvent().
[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mousePressEvent().
[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseReleaseEvent().
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().
[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 истинно) или недоступными (available ложно).
[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
Переопределено из QAbstractScrollArea::resizeEvent().
[override 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().
[override 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().
END_OF_DOCUMENT_MARKER
[signal] void QPlainTextEdit::undoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции отмены становятся доступными (available имеет значение true) или недоступными (available имеет значение false).
[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
Этот сигнал излучается, когда документу текста требуется обновление указанной области rect. Если текст прокручен, rect будет охватывать всю область видимости. Если текст прокручен вертикально, dy содержит количество пикселей, на которое была прокручена область видимости.
Цель сигнала — поддержка дополнительных виджетов в подклассах QPlainTextEdit, которые, например, отображают номера строк, точки останова или другую дополнительную информацию.
[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
Переопределено из QAbstractScrollArea::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.11/qplaintextedit.html