Spec-Zone.ru › Qt

Класс 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 }

Свойства

  • backgroundVisible : bool
  • blockCount : const int
  • centerOnScroll : bool
  • cursorWidth : int
  • documentTitle : QString
  • lineWrapMode : LineWrapMode
  • maximumBlockCount : int
  • overwriteMode : bool
  • placeholderText : QString
  • plainText : QString
  • readOnly : bool
  • tabChangesFocus : bool
  • tabStopDistance : qreal
  • textInteractionFlags : Qt::TextInteractionFlags
  • undoRedoEnabled : bool
  • wordWrapMode : QTextOption::WrapMode

Общественные функции

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 в конец поля редактирования текста.

appendPlainText()

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

Копирует выделенный текст в буфер обмена и удаляет его из поля редактирования текста.

Если текст не выделен, ничего не происходит.

См. также copy() и paste().

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

См. также cut() и copy().

[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

Spec-Zone.ru

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