Spec-Zone.ru › Qt 6.1

Класс 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+Колёсико мыши Прокручивает страницу по горизонтали (Колёсико мыши).
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, 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.

Это свойство было добавлено в Qt 5.10.

Функции доступа:

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

textInteractionFlags : Qt::TextInteractionFlags

Определяет, как метка должна взаимодействовать с пользовательским вводом, если она отображает текст.

Если флаги содержат либо Qt::LinksAccessibleByKeyboard, либо Qt::TextSelectableByKeyboard, то политика фокуса также автоматически устанавливается в Qt::ClickFocus.

Значение по умолчанию зависит от того, является ли QPlainTextEdit только для чтения или для редактирования.

Функции доступа:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

undoRedoEnabled : bool

Это свойство определяет, включены ли отмена и повтор.

Пользователи могут отменить или повторить действия только в том случае, если это свойство имеет значение true, и если существует действие, которое можно отменить (или повторить).

По умолчанию это свойство равно true.

Функции доступа:

bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)

wordWrapMode : QTextOption::WrapMode

Это свойство определяет режим, который QPlainTextEdit использует при переходе текста по словам.

По умолчанию это свойство установлено в QTextOption::WrapAtWordBoundaryOrAnywhere.

Функции доступа:

QTextOption::WrapMode wordWrapMode() const
void setWordWrapMode(QTextOption::WrapMode policy)

См. также QTextOption::WrapMode.

Документация по членам-функциям

QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)

Создает QPlainTextEdit с родителем parent. Поле редактирования текста будет отображать обычный текст text.

QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)

Создает пустое QPlainTextEdit с родителем parent.

[slot] void QPlainTextEdit::appendHtml(const QString &html)

Добавляет новый абзац с html в конец поля редактирования текста.

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)

Устанавливает видимый курсор.

См. также 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.1/qplaintextedit.html

Spec-Zone.ru

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