Spec-Zone.ru › Qt 5.9

Класс 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
  • tabStopWidth : int
  • textInteractionFlags : Qt::TextInteractionFlags
  • undoRedoEnabled : bool
  • wordWrapMode : QTextOption::WrapMode
  • 3 свойства унаследованы от QAbstractScrollArea
  • 6 свойств унаследованы от QFrame
  • 59 свойств унаследованы от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QPlainTextEdit(QWidget *parent = Q_NULLPTR)
QPlainTextEdit(const QString &text, QWidget *parent = Q_NULLPTR)
virtual ~QPlainTextEdit()
QString anchorAt(const QPoint &pos) const
bool backgroundVisible() const
int blockCount() const
bool canPaste() const
bool centerOnScroll() const
QMenu * createStandardContextMenu()
QMenu * createStandardContextMenu(const QPoint &position)
QTextCharFormat currentCharFormat() const
QTextCursor cursorForPosition(const QPoint &pos) const
QRect cursorRect(const QTextCursor &cursor) const
QRect cursorRect() const
int cursorWidth() const
QTextDocument * document() const
QString documentTitle() const
void ensureCursorVisible()
QList<QTextEdit::ExtraSelection> extraSelections() const
bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool isReadOnly() const
bool isUndoRedoEnabled() const
LineWrapMode lineWrapMode() const
virtual QVariant loadResource(int type, const QUrl &name)
int maximumBlockCount() const
void mergeCurrentCharFormat(const QTextCharFormat &modifier)
void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
bool overwriteMode() const
QString placeholderText() const
void print(QPagedPaintDevice *printer) const
void setBackgroundVisible(bool visible)
void setCenterOnScroll(bool enabled)
void setCurrentCharFormat(const QTextCharFormat &format)
void setCursorWidth(int width)
void setDocument(QTextDocument *document)
void setDocumentTitle(const QString &title)
void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
void setLineWrapMode(LineWrapMode mode)
void setMaximumBlockCount(int maximum)
void setOverwriteMode(bool overwrite)
void setPlaceholderText(const QString &placeholderText)
void setReadOnly(bool ro)
void setTabChangesFocus(bool b)
void setTabStopWidth(int width)
void setTextCursor(const QTextCursor &cursor)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setUndoRedoEnabled(bool enable)
void setWordWrapMode(QTextOption::WrapMode policy)
bool tabChangesFocus() const
int tabStopWidth() const
QTextCursor textCursor() const
Qt::TextInteractionFlags textInteractionFlags() const
QString toPlainText() const
QTextOption::WrapMode wordWrapMode() const

Реализованные публичные функции

virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const
  • 20 public functions inherited from QAbstractScrollArea
  • 14 public functions inherited from QFrame
  • 214 public functions inherited from QWidget
  • 32 public functions inherited from QObject
  • 14 public functions inherited from QPaintDevice

Public Slots

void вставитьHTML(const QString &html)
void вставитьОбычныйТекст(const QString &text)
void центрироватьКурсор()
void очистить()
void скопировать()
void вырезать()
void вставитьОбычныйТекст(const QString &text)
void вставить()
void повторить()
void выделитьВсё()
void установитьОбычныйТекст(const QString &text)
void отменить()
void увеличитьМасштаб(int range = 1)
void уменьшитьМасштаб(int range = 1)
  • 19 public slots inherited from QWidget
  • 1 public slot inherited from 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 signals inherited from QWidget
  • 2 signals inherited from 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)

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

virtual void событиеИзменения(QEvent *e)
virtual void событиеКонтекстногоМеню(QContextMenuEvent *event)
virtual void событиеВводаПеретаскивания(QDragEnterEvent *e)
virtual void событиеВыходаПеретаскивания(QDragLeaveEvent *e)
virtual void событиеПеремещенияПеретаскивания(QDragMoveEvent *e)
virtual void событиеОпускания(QDropEvent *e)
virtual void событиеВводаФокуса(QFocusEvent *e)
virtual bool следующийПредыдущийФокус(bool next)
virtual void событиеВыходаФокуса(QFocusEvent *e)
virtual void событиеМетодаВвода(QInputMethodEvent *e)
virtual void событиеНажатияКлавиши(QKeyEvent *e)
virtual void событиеОтпусканияКлавиши(QKeyEvent *e)
virtual void событиеДвойногоЩелчкаМышью(QMouseEvent *e)
virtual void событиеПеремещенияМышью(QMouseEvent *e)
virtual void событиеНажатияМышью(QMouseEvent *e)
virtual void событиеОтпусканияМышью(QMouseEvent *e)
virtual void событиеОтрисовки(QPaintEvent *e)
virtual void событиеИзмененияРазмеры(QResizeEvent *e)
virtual void прокрутитьСодержимоеНа(int dx, int dy)
virtual void событиеПоказа(QShowEvent *)
virtual void событиеКолесикаМыши(QWheelEvent *e)
  • 20 защищенных функций, унаследованных от QAbstractScrollArea
  • 4 защищенных функций, унаследованных от QFrame
  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенная функция, унаследованная от QPaintDevice

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

  • 5 статических публичных членов, унаследованных от QWidget
  • 11 статических публичных членов, унаследованных от QObject
  • 1 защищённый слот, унаследованный от QWidget

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

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

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

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

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

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

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

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

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

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

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

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

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

Клавиши быстрого доступа в режиме только для чтения

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

Нажатия клавиш Действие
Qt::UpArrow Перемещение на строку вверх.
Qt::DownArrow Перемещение на строку вниз.
Qt::LeftArrow Перемещение на один символ влево.
Qt::RightArrow Перемещение на один символ вправо.
PageUp Перемещение на одну страницу вверх.
PageDown Перемещение на одну страницу вниз.
Home Перемещение к началу текста.
End Перемещение к концу текста.
Alt+Wheel Прокрутка страницы по горизонтали (Wheel — колесо мыши).
Ctrl+Wheel Масштабирование текста.
Ctrl+A Выделение всего текста.

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

Вся информация об использовании QPlainTextEdit в качестве виджета отображения также применяется здесь.

Выделение текста обрабатывается классом QTextCursor, который предоставляет функциональность для создания выделений, получения содержимого текста или удаления выделений. Вы можете получить объект, соответствующий отображаемому курсору, с помощью метода textCursor(). Если вы хотите установить выделение в QPlainTextEdit, просто создайте его в объекте QTextCursor, а затем сделайте этот курсор видимым с помощью setCursor(). Выделение можно скопировать в буфер обмена с помощью copy() или вырезать в буфер обмена с помощью cut(). Весь текст можно выделить с помощью selectAll().

QPlainTextEdit содержит объект QTextDocument, который можно получить с помощью метода document(). Вы также можете установить свой собственный объект документа с помощью setDocument(). QTextDocument излучает сигнал textChanged(), если текст изменяется, а также предоставляет функцию isModified(), которая возвращает true, если текст был изменён с момента его загрузки или с момента последнего вызова setModified с аргументом false. Кроме того, он предоставляет методы для отмены и повтора.

Подсветка синтаксиса

Так же, как и QTextEdit, QPlainTextEdit работает вместе с QSyntaxHighlighter.

Клавиши быстрого доступа для редактирования

Список клавиш быстрого доступа, реализованных для редактирования:

Нажатия клавиш Действие
Backspace Удаление символа слева от курсора.
Delete Удаление символа справа от курсора.
Ctrl+C Копирование выделенного текста в буфер обмена.
Ctrl+Insert Копирование выделенного текста в буфер обмена.
Ctrl+K Удаление до конца строки.
Ctrl+V Вставка текста из буфера обмена в редактор текста.
Shift+Insert Вставка текста из буфера обмена в редактор текста.
Ctrl+X Удаление выделенного текста и копирование его в буфер обмена.
Shift+Delete Удаление выделенного текста и копирование его в буфер обмена.
Ctrl+Z Отмена последнего действия.
Ctrl+Y Повторение последнего действия.
LeftArrow Перемещение курсора на один символ влево.
Ctrl+LeftArrow Перемещение курсора на одно слово влево.
RightArrow Перемещение курсора на один символ вправо.
Ctrl+RightArrow Перемещение курсора на одно слово вправо.
UpArrow Перемещение курсора на одну строку вверх.
Ctrl+UpArrow Перемещение курсора на одно слово вверх.
DownArrow Перемещение курсора на одну строку вниз.
Ctrl+Down Arrow Перемещение курсора на одно слово вниз.
PageUp Перемещение курсора на одну страницу вверх.
PageDown Перемещение курсора на одну страницу вниз.
Home Перемещение курсора в начало строки.
Ctrl+Home Перемещение курсора в начало текста.
End Перемещение курсора в конец строки.
Ctrl+End Перемещение курсора в конец текста.
Alt+Wheel Прокрутка страницы по горизонтали (Wheel — колесо мыши).
Ctrl+Wheel Масштабирование текста.

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

Отличия от QTextEdit

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

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

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

enum QPlainTextEdit::LineWrapMode

Постоянная Значение
QPlainTextEdit::NoWrap 0
QPlainTextEdit::WidgetWidth 1

Документация свойств

backgroundVisible : bool

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

Если установлено в значение true, редактор простого текста рисует фон палитры в области просмотра, не покрытой текстом документа. В противном случае, если установлено в значение false, фон не рисуется. Эта функция позволяет пользователю визуально различать область документа, окрашенную основным цветом палитры, и пустую область, не покрытую документом.

По умолчанию значение false.

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

bool backgroundVisible() const
void setBackgroundVisible(bool visible)

blockCount : const int

Это свойство содержит количество текстовых блоков в документе.

По умолчанию в пустом документе это свойство содержит значение 1.

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

int blockCount() const

centerOnScroll : bool

Это свойство определяет, должен ли курсор центрироваться на экране при прокрутке.

Если установлено в значение true, редактор простого текста прокручивает документ вертикально, чтобы курсор был виден в центре области просмотра. Это также позволяет редактору прокручивать текст ниже конца документа. В противном случае, если установлено в значение false, редактор простого текста прокручивает документ минимально, чтобы гарантировать видимость курсора. Такой же алгоритм применяется к любой новой строке, добавленной с помощью appendPlainText().

По умолчанию значение false.

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

bool centerOnScroll() const
void setCenterOnScroll(bool enabled)

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

cursorWidth : int

Это свойство задаёт ширину курсора в пикселях. Значение по умолчанию — 1.

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

int cursorWidth() const
void setCursorWidth(int width)

documentTitle : QString

Это свойство содержит заголовок документа, извлечённый из текста.

По умолчанию это свойство содержит пустую строку.

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

QString documentTitle() const
void setDocumentTitle(const QString &title)

lineWrapMode : LineWrapMode

Это свойство содержит режим перевода строк.

Режим по умолчанию — WidgetWidth, который приводит к переносу слов по правому краю редактора текста. Перенос происходит по пробелам, сохраняя целые слова. Если вам нужен перенос внутри слов, используйте setWordWrapMode().

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

LineWrapMode lineWrapMode() const
void setLineWrapMode(LineWrapMode mode)

maximumBlockCount : int

Это свойство содержит ограничение для блоков в документе.

Указывает максимальное количество блоков, которое может содержать документ. Если в документе больше блоков, чем указано в этом свойстве, блоки удаляются с начала документа.

Отрицательное или нулевое значение указывает, что документ может содержать неограниченное количество блоков.

Значение по умолчанию — 0.

Обратите внимание, что установка этого свойства немедленно применит ограничение к содержимому документа. Установка этого свойства также отключает историю отмены/повтор.

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

int maximumBlockCount() const
void setMaximumBlockCount(int maximum)

overwriteMode : bool

Это свойство указывает, будут ли вводимые пользователем символы перезаписывать существующий текст.

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

Если это свойство равно true, существующий текст перезаписывается символом за символом новым текстом; в противном случае текст вставляется в позицию курсора, смещая существующий текст.

По умолчанию это свойство равно false (новый текст не перезаписывает существующий).

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

bool overwriteMode() const
void setOverwriteMode(bool overwrite)

placeholderText : QString

Это свойство содержит текст-заполнитель редактора.

Установка этого свойства заставляет редактор отображать отштампованный текст-заполнитель серым цветом, пока document() пуст.

По умолчанию это свойство содержит пустую строку.

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

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

QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)

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

plainText : QString

Это свойство получает и устанавливает содержимое редактора простого текста. Предыдущее содержимое удаляется, а история отмены/повтора сбрасывается при установке этого свойства.

По умолчанию для редактора без содержимого это свойство содержит пустую строку.

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

QString toPlainText() const
void setPlainText(const QString &text)

Сигнал уведомления:

void textChanged()

readOnly : bool

Это свойство указывает, является ли редактор текста только для чтения.

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

Значение по умолчанию — false.

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

bool isReadOnly() const
void setReadOnly(bool ro)

tabChangesFocus : bool

Это свойство указывает, изменяет ли нажатие клавиши Tab фокус или принимается как ввод.

В некоторых случаях редакторы текста не должны позволять пользователю вводить табуляцию или изменять отступы с помощью клавиши Tab, так как это нарушает цепочку фокуса. По умолчанию значение false.

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

bool tabChangesFocus() const
void setTabChangesFocus(bool b)

tabStopWidth : int

Это свойство содержит ширину отступа ввода табуляции в пикселях.

По умолчанию это свойство содержит значение 80.

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

int tabStopWidth() const
void setTabStopWidth(int width)

textInteractionFlags : Qt::TextInteractionFlags

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

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

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

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

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

undoRedoEnabled : bool

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

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

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

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

bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)

wordWrapMode : QTextOption::WrapMode

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

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

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

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

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

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

QPlainTextEdit::QPlainTextEdit(QWidget *parent = Q_NULLPTR)

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

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

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

[virtual] QPlainTextEdit::~QPlainTextEdit()

Деструктор.

QString QPlainTextEdit::anchorAt(const QPoint &pos) const

Возвращает ссылку на якорь в позиции pos или пустую строку, если в этой точке нет якоря.

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

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

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

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.

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

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

[slot] void QPlainTextEdit::clear()

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

Обратите внимание, что история отмены/повтора очищается этой функцией.

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

[protected] QPointF QPlainTextEdit::contentOffset() const

Возвращает начало содержимого в координатах области просмотра.

Начало содержимого текстового поля всегда находится в верхнем левом углу первого видимого блока текста. Начало содержимого отличается от (0,0), когда текст был прокручен по горизонтали или когда первый видимый блок был частично прокручен за экран, т.е. видимый текст не начинается с первой строки первого видимого блока, или когда первый видимый блок является самым первым блоком и редактор отображает отступ.

См. такжеfirstVisibleBlock(), horizontalScrollBar() и verticalScrollBar().

[virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)

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

Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().

Если вы не хотите, чтобы у текстового поля было контекстное меню, вы можете установить его contextMenuPolicy в Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращенное меню.

Информация об событии передается в объекте event.

void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

[slot] void QPlainTextEdit::copy()

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

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

[signal] void QPlainTextEdit::copyAvailable(bool yes)

Этот сигнал испускается, когда текст выделен или снят с выделения в текстовом поле.

Когда текст выделен, этот сигнал будет испущен со значением yes, установленным в true. Если текст не выделен или если выделенный текст снят с выделения, этот сигнал испускается со значением yes, установленным в false.

Если yes равно true, то copy() можно использовать для копирования выделения в буфер обмена. Если yes равно false, то copy() ничего не делает.

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

[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const

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

Если вы переопределите эту функцию, обратите внимание, что владение возвращенным объектом QMimeData переходит к вызывающей стороне. Выделение можно получить, используя функцию textCursor().

QMenu *QPlainTextEdit::createStandardContextMenu()

Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь нажимает правую кнопку мыши на поле редактирования текста. Она вызывается из обработчика по умолчанию contextMenuEvent(). Владение всплывающим меню передаётся вызывающему методу.

Рекомендуется использовать версию createStandardContextMenu(QPoint) вместо неё, которая позволит включить действия, чувствительные к месту клика пользователя.

QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)

Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь нажимает правую кнопку мыши на поле редактирования текста. Она вызывается из обработчика по умолчанию contextMenuEvent() и принимает position в координатах документа, где был нажат клик мышью. Это позволяет включить действия, чувствительные к позиции клика. Владение всплывающим меню передаётся вызывающему методу.

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

QTextCharFormat QPlainTextEdit::currentCharFormat() const

Возвращает формат символа, используемый при вставке нового текста.

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

QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const

возвращает QTextCursor в позиции pos (в координатах области просмотра).

[signal] void QPlainTextEdit::cursorPositionChanged()

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

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

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

QRect QPlainTextEdit::cursorRect() const

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

[slot] void QPlainTextEdit::cut()

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

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

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

QTextDocument *QPlainTextEdit::document() const

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

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

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

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

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

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

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

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

[virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)

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

void QPlainTextEdit::ensureCursorVisible()

Обеспечивает видимость курсора, прокручивая поле редактирования текста, если необходимо.

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

QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const

Возвращает ранее установленные дополнительные выделения.

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

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

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

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

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

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

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

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

[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

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

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

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

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

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

[virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)

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

[virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)

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

[virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)

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

[virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)

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

void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)

Перемещает курсор, выполняя заданную operation.

Если mode имеет значение QTextCursor::KeepAnchor, курсор выделяет текст, над которым он перемещается. Это такой же эффект, которого пользователь достигает, удерживая нажатой клавишу Shift и перемещая курсор с помощью клавиш управления курсором.

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

[virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)

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

[slot] void QPlainTextEdit::paste()

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

Если в буфере обмена нет текста, ничего не происходит.

Для изменения поведения этой функции, т. е. для изменения того, что QPlainTextEdit может вставить и как это происходит, переопределите виртуальные функции canInsertFromMimeData() и insertFromMimeData().

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

void QPlainTextEdit::print(QPagedPaintDevice *printer) const

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

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

[slot] void QPlainTextEdit::redo()

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

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

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

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

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

[virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)

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

[virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)

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

[slot] void QPlainTextEdit::selectAll()

Выделяет весь текст.

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

[signal] void QPlainTextEdit::selectionChanged()

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

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

void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)

Устанавливает форматирование символов, которое будет использоваться при вставке нового текста в format, вызывая QTextCursor::setCharFormat() на курсоре редактора. Если в редакторе есть выделение, форматирование символов применяется непосредственно к выделению.

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

void QPlainTextEdit::setDocument(QTextDocument *document)

Устанавливает document в качестве нового документа текстового редактора.

Родительский QObject предоставленного документа остаётся владельцем объекта. Если текущий документ является дочерним элементом текстового редактора, он удаляется.

Документ должен иметь макет документа, который наследуется от QPlainTextDocumentLayout (см. QTextDocument::setDocumentLayout()).

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

void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)

Эта функция позволяет временно помечать определённые области в документе заданным цветом, указанным как selections. Это может быть полезно, например, в редакторе программ для выделения целой строки текста заданным фоновым цветом, чтобы указать на существование точки останова.

См. также QTextEdit::ExtraSelection и extraSelections().

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

Изменяет текст текстового редактора на строку text. Любой предыдущий текст удаляется.

text интерпретируется как обычный текст.

Обратите внимание, что история отмены/повторной операции очищается этой функцией.

Примечание: Метод-сеттер для свойства plainText.

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

void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)

Устанавливает видимый cursor.

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

[virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)

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

[signal] void QPlainTextEdit::textChanged()

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

Примечание: Сигнал-уведомление для свойства plainText.

QTextCursor QPlainTextEdit::textCursor() const

Возвращает копию QTextCursor, представляющей текущий видимый курсор. Обратите внимание, что изменения в возвращённом курсоре не влияют на курсор QPlainTextEdit; используйте setTextCursor() для обновления видимого курсора.

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

QString QPlainTextEdit::toPlainText() const

Возвращает текст текстового редактора в виде простого текста.

Примечание: Метод-геттер для свойства plainText.

См. также QPlainTextEdit::setPlainText().

[slot] void QPlainTextEdit::undo()

Отменяет последнюю операцию.

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

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

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

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

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

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

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

[virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)

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

[slot] void QPlainTextEdit::zoomIn(int range = 1)

Увеличивает масштаб текста, увеличивая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.

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

[slot] void QPlainTextEdit::zoomOut(int range = 1)

Это перегруженный метод.

Уменьшает масштаб текста, уменьшая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов на новый размер. Это не изменяет размер изображений.

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qplaintextedit.html

Spec-Zone.ru

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