Spec-Zone.ru › Qt 5.12

Класс QPlainTextEdit

Класс QPlainTextEdit предоставляет виджет для редактирования и отображения простого текста. Подробнее...

Заголовок: #include <QPlainTextEdit>
qmake: QT += widgets
С момента: Qt 4.4
Наследует: 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
  • 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 = ...)
bool find(const QRegExp &exp, QTextDocument::FindFlags options = ...)
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
  • 31 общедоступных функций, унаследованных от QObject
  • 14 общедоступных функций, унаследованных от QPaintDevice

Открытые слоты

void appendHtml(const QString &html)
void appendPlainText(const QString &text)
void centerCursor()
void очистить()
void копировать()
void вырезать()
void вставитьОбычныйТекст(const QString &text)
void вставить()
void повторить()
void выделитьВсе()
void установитьОбычныйТекст(const QString &text)
void отменить()
void увеличитьМасштаб(int range = 1)
void уменьшитьМасштаб(int range = 1)
  • 19 открытых слотов, унаследованных от QWidget
  • 1 открытый слот, унаследованный от QObject

Сигналы

void изменилосьКоличествоБлоков(int newBlockCount)
void доступноКопирование(bool yes)
void изменилосьПоложениеКурсора()
void изменилисьМодификации(bool changed)
void повторениеДоступно(bool available)
void изменилсяВыбор()
void изменилсяТекст()
void отменаДоступна(bool available)
void запросОбновления(const QRect &rect, int dy)
  • 3 сигнала, унаследованные от QWidget
  • 2 сигнала, унаследованные от QObject

Статические общедоступные члены

const QMetaObject staticMetaObject
  • 5 статических общедоступных членов, унаследованных от QWidget
  • 9 статических общедоступных членов, унаследованных от QObject

Защищённые функции

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)

Переопределённые защищённые функции

виртуальный void changeEvent(QEvent *e) override
виртуальный void contextMenuEvent(QContextMenuEvent *event) override
виртуальный void dragEnterEvent(QDragEnterEvent *e) override
виртуальный void dragLeaveEvent(QDragLeaveEvent *e) override
виртуальный void dragMoveEvent(QDragMoveEvent *e) override
виртуальный void dropEvent(QDropEvent *e) override
виртуальный void focusInEvent(QFocusEvent *e) override
виртуальный bool focusNextPrevChild(bool next) override
виртуальный void focusOutEvent(QFocusEvent *e) override
виртуальный void inputMethodEvent(QInputMethodEvent *e) override
виртуальный void keyPressEvent(QKeyEvent *e) override
виртуальный void keyReleaseEvent(QKeyEvent *e) override
виртуальный void mouseDoubleClickEvent(QMouseEvent *e) override
виртуальный void mouseMoveEvent(QMouseEvent *e) override
виртуальный void mousePressEvent(QMouseEvent *e) override
виртуальный void mouseReleaseEvent(QMouseEvent *e) override
виртуальный void paintEvent(QPaintEvent *e) override
виртуальный void resizeEvent(QResizeEvent *e) override
виртуальный void scrollContentsBy(int dx, int dy) override
виртуальный void showEvent(QShowEvent *) override
виртуальный void wheelEvent(QWheelEvent *e) override
  • 20 защищённые функции, унаследованные от QAbstractScrollArea
  • 4 защищённые функции, унаследованные от QFrame
  • 35 защищённых функций, унаследованных от QWidget
  • 9 защищённых функций, унаследованных от QObject
  • 1 защищённая функция, унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 1 защищённый слот, унаследованный от QWidget

Подробное описание

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

Введение и концепции

QPlainTextEdit — это расширенный просмотрщик/редактор, поддерживающий простой текст. Он оптимизирован для обработки больших документов и быстрого реагирования на ввод пользователя.

QPlainText использует практически ту же технологию и концепции, что и QTextEdit, но оптимизирован для работы с простым текстом.

QPlainTextEdit работает с абзацами и символами. Абзац — это форматированная строка, которая переносится по словам для размещения в ширину виджета. По умолчанию при чтении простого текста одна новая строка обозначает абзац. Документ состоит из нуля или более абзацев. Абзацы разделяются твёрдыми символами новой строки. Каждый символ в абзаце имеет свои атрибуты, например, шрифт и цвет.

Форма курсора мыши в QPlainTextEdit по умолчанию — Qt::IBeamCursor. Она может быть изменена через свойство курсора viewport().

Использование QPlainTextEdit в качестве виджета для отображения

Текст устанавливается или заменяется с помощью setPlainText(), который удаляет существующий текст и заменяет его текстом, переданным в setPlainText().

Текст можно вставлять с помощью класса QTextCursor или с помощью удобных функций insertPlainText(), appendPlainText() или paste().

По умолчанию редактор текста переносит слова в пробелах, чтобы поместиться в пределах виджета редактора текста. Функция setLineWrapMode() используется для указания типа перевода строк, WidgetWidth или NoWrap, если вы не хотите никакого перевода. Если вы используете перевод по словам до ширины виджета WidgetWidth, вы можете указать, нужно ли разбивать по пробелам или где угодно, с помощью setWordWrapMode().

Функция find() может использоваться для поиска и выделения заданной строки в тексте.

Если вы хотите ограничить общее количество абзацев в QPlainTextEdit, например, в просмотре журнала, вы можете использовать свойство maximumBlockCount. Сочетание setMaximumBlockCount() и appendPlainText() превращает QPlainTextEdit в эффективный просмотрщик текстовых журналов. Прокрутку можно уменьшить с помощью свойства centerOnScroll(), что сделает просмотрщик журнала ещё быстрее. Текст можно форматировать ограниченным образом, либо используя подсветку синтаксиса (см. ниже), либо добавляя отформатированный HTML-текст с помощью appendHtml(). Хотя QPlainTextEdit не поддерживает сложное форматирование с отображением таблиц и блоков, он поддерживает ограниченное форматирование на основе абзацев, которое может потребоваться в просмотре журналов.

Связки клавиш при чтении

Когда QPlainTextEdit используется в режиме только для чтения, связки клавиш ограничены навигацией, и текст может быть выделен только с помощью мыши:

Нажатие клавиш Действие
Qt::UpArrow Перемещение на одну строку вверх.
Qt::DownArrow Перемещение на одну строку вниз.
Qt::LeftArrow Перемещение на один символ влево.
Qt::RightArrow Перемещение на один символ вправо.
PageUp Перемещение на одну (область просмотра) страницу вверх.
PageDown Перемещение на одну (область просмотра) страницу вниз.
Home Перемещение к началу текста.
End Перемещение к концу текста.
Alt+Колёсико Перемещение страницы по горизонтали (Колёсико — колёсико мыши).
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+Wheel Прокручивает страницу горизонтально (Wheel — колесо мыши).
Ctrl+Wheel Изменяет масштаб текста.

Для выделения (метки) текста удерживайте нажатой клавишу Shift, одновременно нажимая на одну из клавиш перемещения, например, Shift+Right Arrow выделит символ справа, а Shift+Ctrl+Right Arrow — слово справа и т. д.

Отличия от QTextEdit

QPlainTextEdit — тонкий класс, реализованный с использованием большей части технологий, лежащих в основе QTextEdit и QTextDocument. Его преимущества в производительности по сравнению с QTextEdit в основном связаны с использованием другого, упрощенного текстового макета под названием QPlainTextDocumentLayout в документе с текстом (см. QTextDocument::setDocumentLayout()). Макет документа с простым текстом не поддерживает таблицы и встроенные фреймы, и заменяет точное вычисление высоты на подход прокрутки по строкам/абзацам. Это позволяет обрабатывать значительно большие документы и при этом изменять размер редактора с включенной переноской по строкам в реальном времени. Это также ускоряет работу с просмотром журналов (см. setMaximumBlockCount()).

См. также QTextDocument, QTextCursor, Пример приложения, Пример редактора кода, Пример подсветки синтаксиса и Обработка форматированного текста.

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

перечисление 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

Это свойство получает и устанавливает содержимое простого текстового редактора. Предыдущее содержимое удаляется, и история отмены/повтора сбрасывается при установке этого свойства. 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)

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

appendPlainText()

[slot] void QPlainTextEdit::appendPlainText(const QString &text)

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

См. такжеappendHtml().

[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const

Возвращает прямоугольник, ограничивающий текст block в координатах содержимого. Преобразуйте прямоугольник с помощью contentOffset() для получения визуальных координат на области просмотра.

См. такжеfirstVisibleBlock() и blockBoundingRect().

[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const

Возвращает прямоугольник, ограничивающий текст block в собственных координатах блока.

См. такжеblockBoundingGeometry().

[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)

Этот сигнал испускается всякий раз, когда изменяется количество блоков. Новое количество блоков передаётся в newBlockCount.

[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const

Эта функция возвращает true, если содержимое объекта MIME-данных, указанного source, может быть декодировано и вставлено в документ. Она вызывается, например, во время операции перетаскивания, когда курсор попадает в этот виджет, и необходимо определить, можно ли принять перетаскивание.

bool QPlainTextEdit::canPaste() const

Возвращает, можно ли вставить текст из буфера обмена в textedit.

[slot] void QPlainTextEdit::centerCursor()

Прокручивает документ для центрирования курсора по вертикали.

См. такжеensureCursorVisible() и centerOnScroll.

[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)

Переопределено из QFrame::changeEvent().

[slot] void QPlainTextEdit::clear()

Удаляет весь текст в поле ввода текста.

Замечания:

  • Также очищается история отмены/повтора.
  • currentCharFormat() сбрасывается, если textCursor() ещё не находится в начале документа.

См. также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 (в координатах области просмотра).

[signal] void QPlainTextEdit::cursorPositionChanged()

Этот сигнал испускается всякий раз, когда меняется позиция курсора.

QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const

возвращает прямоугольник (в координатах области просмотра), который включает cursor.

QRect QPlainTextEdit::cursorRect() const

возвращает прямоугольник (в координатах области просмотра), который включает курсор текстового поля.

[slot] void QPlainTextEdit::cut()

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

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

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

QTextDocument *QPlainTextEdit::document() const

Возвращает указатель на базовый документ.

См. также setDocument().

[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)

Переопределено из QAbstractScrollArea::dragEnterEvent().

[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)

Переопределено из QAbstractScrollArea::dragLeaveEvent().

[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)

Переопределено из QAbstractScrollArea::dragMoveEvent().

[override virtual protected] 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 = ...)

Ищет следующее вхождение строки exp, используя заданные options. Возвращает true если exp найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.

bool QPlainTextEdit::find(const QRegExp &exp, QTextDocument::FindFlags options = ...)

Это перегруженная функция.

Ищет следующее вхождение, соответствующее регулярному выражению exp, используя заданные options. Опция QTextDocument::FindCaseSensitively игнорируется для этой перегрузки, используйте QRegExp::caseSensitivity вместо этого.

Возвращает true если совпадение найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.

Эта функция была добавлена в Qt 5.3.

[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const

Возвращает первый видимый блок.

См. также blockBoundingRect().

[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)

Переопределено из QWidget::focusInEvent().

[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)

Переопределено из QWidget::focusNextPrevChild().

[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)

Переопределено из QWidget::focusOutEvent().

[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const

Возвращает контекст рисования для viewport(), полезно только при переопределении paintEvent().

[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)

Переопределено из QWidget::inputMethodEvent().

[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const

Переопределено из QWidget::inputMethodQuery().

[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)

Эта функция вставляет содержимое объекта MIME-данных, указанного в source, в текстовое поле в текущей позиции курсора. Она вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена или когда текстовое поле принимает данные из операции перетаскивания.

[slot] void QPlainTextEdit::insertPlainText(const QString &text)

Удобный слот, который вставляет text в текущей позиции курсора.

Эквивалентно

edit->textCursor().insertText(text);

[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)

Переопределено из QAbstractScrollArea::keyPressEvent().

[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)

Переопределено из QWidget::keyReleaseEvent().

[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)

Загружает ресурс, указанный заданными type и name.

Эта функция является расширением QTextDocument::loadResource().

См. также QTextDocument::loadResource().

void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

Объединяет свойства, заданные в modifier, в текущий формат символа, вызывая QTextCursor::mergeCharFormat для курсора редактора. Если редактор имеет выделение, то свойства modifier напрямую применяются к выделению.

См. также QTextCursor::mergeCharFormat().

[signal] void QPlainTextEdit::modificationChanged(bool changed)

Этот сигнал подаётся всякий раз, когда содержимое документа изменяется таким образом, что это влияет на состояние модификации. Если changed равно true, документ был изменён; иначе оно равно false.

Например, вызов setModified(false) для документа, а затем вставка текста приводит к подаче сигнала. Если вы отменяете эту операцию, заставляя документ вернуться к своему исходному неизменённому состоянию, сигнал будет подан снова.

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

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

void QPlainTextEdit::print(QPagedPaintDevice *printer) const

Функция-утилита для печати документа текстового редактора на заданный printer. Это эквивалентно вызову метода print для документа напрямую, за исключением того, что эта функция также поддерживает QPrinter::Selection в качестве диапазона печати.

См. также QTextDocument::print().

[slot] void QPlainTextEdit::redo()

Повторяет последнюю операцию.

Если нет операции для повторения, т.е. нет шага повтора в истории отмены/повтора, ничего не происходит.

См. также undo().

[signal] void QPlainTextEdit::redoAvailable(bool available)

Этот сигнал подаётся всякий раз, когда операции повтора становятся доступными (available равно true) или недоступными (available равно false).

[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 интерпретируется как простой текст.

Примечания:

  • История отмены/повтора также очищается.
  • currentCharFormat() сбрасывается, если textCursor() не находится в начале документа.

Примечание: Функция-установщик для свойства 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().

[signal] void QPlainTextEdit::undoAvailable(bool available)

Этот сигнал испускается всякий раз, когда операции отмены становятся доступными (available истинно) или недоступными (available ложно).

[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)

Этот сигнал испускается, когда текстовому документу требуется обновление указанной области rect. Если текст прокручивается, rect будет покрывать всю область просмотра. Если текст прокручивается вертикально, dy содержит количество пикселей, на которое была прокручена область просмотра.

Цель сигнала — поддержка дополнительных виджетов в подклассах текстового поля, например, для отображения номеров строк, точек останова или другой дополнительной информации.

[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/qt-5.12/qplaintextedit.html

Spec-Zone.ru

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