Класс QTextEdit
Класс QTextEdit предоставляет виджет для редактирования и отображения простого и форматированного текста. Подробнее...
| Заголовок: | #include <QTextEdit> |
| qmake: | QT += widgets |
| Наследует: | QAbstractScrollArea |
| Наследуется от: |
Открытые типы
| Дополнительный выделенный фрагмент | |
| флаги | Автоматическое форматирование |
| перечисление | ФлагАвтоматическогоФорматирования { Автоматическое_нет, Автоматическое_маркированный_список, Автоматическое_все } |
| перечисление | РежимПереносаСтроки { БезПереноса, ШиринаВиджет, ФиксированнаяШиринаПикселей, ФиксированнаяШиринаСтолбцов } |
Свойства
|
|
Открытые функции
| QTextEdit(const QString &text, QWidget *parent = nullptr) | |
| QTextEdit(QWidget *parent = nullptr) | |
| virtual | ~QTextEdit() |
| bool | acceptRichText() const |
| Qt::Alignment | alignment() const |
| QString | anchorAt(const QPoint &pos) const |
| QTextEdit::AutoFormatting | autoFormatting() const |
| bool | canPaste() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() const |
| QFont | currentFont() 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 | find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| QString | fontFamily() const |
| bool | fontItalic() const |
| qreal | fontPointSize() const |
| bool | fontUnderline() const |
| int | fontWeight() const |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| int | lineWrapColumnOrWidth() const |
| QTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| 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 | setAcceptRichText(bool accept) |
| void | setAutoFormatting(QTextEdit::AutoFormatting features) |
| 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 | setLineWrapColumnOrWidth(int w) |
| void | setLineWrapMode(QTextEdit::LineWrapMode mode) |
| 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 |
| QColor | textBackgroundColor() const |
| QColor | textColor() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toHtml() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Краткое описание полей
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
Публичные слоты
| void | append(const QString &text) |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertHtml(const QString &text) |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | scrollToAnchor(const QString &name) |
| void | selectAll() |
| void | setAlignment(Qt::Alignment a) |
| void | setCurrentFont(const QFont &f) |
| void | setFontFamily(const QString &fontFamily) |
| void | setFontItalic(bool italic) |
| void | setFontPointSize(qreal s) |
| void | setFontUnderline(bool underline) |
| void | setFontWeight(int weight) |
| void | setHtml(const QString &text) |
| void | setPlainText(const QString &text) |
| void | setText(const QString &text) |
| void | setTextBackgroundColor(const QColor &c) |
| void | setTextColor(const QColor &c) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
Сигналы
| void | copyAvailable(bool yes) |
| void | currentCharFormatChanged(const QTextCharFormat &f) |
| void | cursorPositionChanged() |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
Защищенные функции
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
Переопределённые защищённые функции
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual void | showEvent(QShowEvent *) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Подробное описание
Введение и концепции
QTextEdit — это расширенный WYSIWYG-просмотрщик/редактор, поддерживающий форматирование богатого текста с использованием тегов в стиле HTML. Он оптимизирован для обработки больших документов и быстрого реагирования на ввод пользователя.
QTextEdit работает с абзацами и символами. Абзац — это форматированная строка, которая переносится по словам для вписывания в ширину виджета. По умолчанию при чтении простого текста одна новая строка означает абзац. Документ состоит из нуля или более абзацев. Слова в абзаце выравниваются в соответствии с выравниванием абзаца. Абзацы разделяются жёсткими переносами строк. Каждый символ в абзаце имеет свои атрибуты, например, шрифт и цвет.
QTextEdit может отображать изображения, списки и таблицы. Если текст слишком велик для просмотра в области просмотра текстового поля, появятся полосы прокрутки. Текстовое поле может загружать как простой, так и форматированный текст.
Если вам нужно просто отобразить небольшой фрагмент форматированного текста, используйте QLabel.
Поддержка форматированного текста в Qt разработана для обеспечения быстрого, портативного и эффективного способа добавления разумных средств справки онлайн в приложения и для создания основы для редакторов форматированного текста. Если поддержка HTML недостаточна для ваших потребностей, вы можете рассмотреть использование Qt WebKit, который предоставляет полнофункциональный виджет веб-браузера.
Форма курсора мыши на QTextEdit по умолчанию — Qt::IBeamCursor. Она может быть изменена через свойство курсора viewport().
Использование QTextEdit в качестве виджета отображения
QTextEdit может отображать большой набор HTML, включая таблицы и изображения.
Текст устанавливается или заменяется с помощью setHtml(), который удаляет любой существующий текст и заменяет его текстом, переданным в вызов setHtml(). Если вы вызываете setHtml() с устаревшим HTML, а затем вызываете toHtml(), возвращаемый текст может иметь другой разметку, но будет отображаться одинаково. Весь текст может быть удалён с помощью clear().
Сам текст можно вставить с помощью класса QTextCursor или с помощью удобных функций insertHtml(), insertPlainText(), append() или paste(). QTextCursor также может вставлять сложные объекты, такие как таблицы или списки в документ, и он занимается созданием выделений и внесением изменений в выделенный текст.
По умолчанию текстовое поле переносит слова при пробелах, чтобы уместиться в ширину текстового виджета. Функция setLineWrapMode() используется для задания типа переноса строк, или NoWrap, если вы не хотите никакого переноса. Вызовите setLineWrapMode() для задания фиксированной ширины в пикселях FixedPixelWidth или столбцов символов (например, 80 столбцов) FixedColumnWidth с указанием пикселей или столбцов с помощью setLineWrapColumnOrWidth(). Если вы используете перенос слов по ширине виджета WidgetWidth, вы можете указать, нужно ли разбивать по пробелам или в любом месте с помощью setWordWrapMode().
Функция find() может использоваться для поиска и выделения заданной строки в тексте.
Если вы хотите ограничить общее количество абзацев в QTextEdit, например, это часто полезно в просмотрщике логов, то вы можете использовать свойство maximumBlockCount класса QTextDocument для этого.
Сочетания клавиш только для чтения
Когда QTextEdit используется в режиме только для чтения, сочетания клавиш ограничены навигацией, и текст можно выделять только мышкой:
| Нажатия клавиш | Действие |
|---|---|
| Вверх | Перемещает на одну строку вверх. |
| Вниз | Перемещает на одну строку вниз. |
| Влево | Перемещает на один символ влево. |
| Вправо | Перемещает на один символ вправо. |
| PageUp | Перемещает на одну страницу вверх. |
| PageDown | Перемещает на одну страницу вниз. |
| Home | Перемещает к началу текста. |
| End | Перемещает к концу текста. |
| Alt+Колёсико | Прокручивает страницу по горизонтали. |
| Ctrl+Колёсико | Изменяет масштаб текста. |
| Ctrl+A | Выделяет весь текст. |
Текстовое поле может предоставлять некоторую метаинформацию. Например, функция documentTitle() вернёт текст из тегов HTML <title>.
Примечание: Масштабирование HTML-документов работает только в том случае, если размер шрифта не установлен на фиксированное значение.
Использование QTextEdit в качестве редактора
Вся информация об использовании QTextEdit в качестве виджета отображения также применима здесь.
Атрибуты текущего форматирования символов устанавливаются с помощью setFontItalic(), setFontWeight(), setFontUnderline(), setFontFamily(), setFontPointSize(), setTextColor() и setCurrentFont(). Выравнивание текущего абзаца устанавливается с помощью setAlignment().
Выбор текста выполняется классом QTextCursor, который предоставляет функциональность для создания выделений, получения содержимого текста или удаления выделений. Вы можете получить объект, соответствующий видимому курсору пользователя, с помощью метода textCursor(). Если вы хотите установить выделение в QTextEdit, просто создайте его на объекте QTextCursor, а затем сделайте этот курсор видимым с помощью setTextCursor(). Выделение можно скопировать в буфер обмена с помощью copy() или вырезать в буфер обмена с помощью cut(). Весь текст можно выделить с помощью selectAll().
Когда курсор перемещается, и атрибуты форматирования базового уровня изменяются, сигнал currentCharFormatChanged() генерируется для отражения новых атрибутов в новом положении курсора.
Сигнал textChanged() генерируется всякий раз, когда текст изменяется (в результате вызова setText() или через сам редактор).
QTextEdit содержит объект QTextDocument, который можно получить с помощью метода document(). Вы также можете установить свой собственный объект документа с помощью setDocument().
QTextDocument предоставляет функцию isModified(), которая вернёт true, если текст был изменён с момента его загрузки или с последнего вызова setModified с аргументом false. Кроме того, он предоставляет методы для отмены и повтора.
Перетаскивание
QTextEdit также поддерживает пользовательское поведение перетаскивания. По умолчанию QTextEdit вставит обычный текст, HTML и форматированный текст, когда пользователь перетащит данные этих MIME-типов на документ. Для добавления поддержки дополнительных MIME-типов переопределите canInsertFromMimeData() и insertFromMimeData().
Например, чтобы разрешить пользователю перетаскивать изображение на QTextEdit, вы можете реализовать эти функции следующим образом:
bool TextEdit::canInsertFromMimeData( const QMimeData *source ) const
{
if (source->hasImage())
return true;
else
return QTextEdit::canInsertFromMimeData(source);
} Мы добавляем поддержку MIME-типов изображений, возвращая true. Для всех остальных MIME-типов мы используем реализацию по умолчанию.
void TextEdit::insertFromMimeData( const QMimeData *source )
{
if (source->hasImage())
{
QImage image = qvariant_cast<QImage>(source->imageData());
QTextCursor cursor = this->textCursor();
QTextDocument *document = this->document();
document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
cursor.insertImage("image");
}
} Мы распаковываем изображение из QVariant, хранящейся в источнике MIME, и вставляем его в документ в качестве ресурса.
Настройки горячих клавиш редактирования
Список реализованных сочетаний клавиш для редактирования:
| Нажатия клавиш | Действие |
|---|---|
| Backspace | Удаляет символ слева от курсора. |
| Delete | Удаляет символ справа от курсора. |
| Ctrl+C | Копирует выделенный текст в буфер обмена. |
| Ctrl+Insert | Копирует выделенный текст в буфер обмена. |
| Ctrl+K | Удаляет до конца строки. |
| Ctrl+V | Вставляет текст из буфера обмена в текстовый редактор. |
| Shift+Insert | Вставляет текст из буфера обмена в текстовый редактор. |
| Ctrl+X | Удаляет выделенный текст и копирует его в буфер обмена. |
| Shift+Delete | Удаляет выделенный текст и копирует его в буфер обмена. |
| Ctrl+Z | Отменяет последнее действие. |
| Ctrl+Y | Повторяет последнее действие. |
| Left | Перемещает курсор на один символ влево. |
| Ctrl+Left | Перемещает курсор на одно слово влево. |
| Right | Перемещает курсор на один символ вправо. |
| Ctrl+Right | Перемещает курсор на одно слово вправо. |
| Up | Перемещает курсор на одну строку вверх. |
| Down | Перемещает курсор на одну строку вниз. |
| PageUp | Перемещает курсор на одну страницу вверх. |
| PageDown | Перемещает курсор на одну страницу вниз. |
| Home | Перемещает курсор в начало строки. |
| Ctrl+Home | Перемещает курсор в начало текста. |
| End | Перемещает курсор в конец строки. |
| Ctrl+End | Перемещает курсор в конец текста. |
| Alt+Wheel | Прокручивает страницу по горизонтали (Wheel — колесо мыши). |
Для выделения текста удерживайте клавишу Shift и нажмите одну из клавиш перемещения, например, Shift+Right выделит символ справа, а Shift+Ctrl+Right — слово справа и т.д.
См. также QTextDocument, QTextCursor, Пример приложения, Пример выделения синтаксиса и Обработка форматированного текста.
Документация по типам членов
перечисление QTextEdit::AutoFormattingFlagфлаги QTextEdit::AutoFormatting
| Константа | Значение | Описание |
|---|---|---|
QTextEdit::AutoNone |
0 |
Не выполнять автоматическое форматирование. |
QTextEdit::AutoBulletList |
0x00000001 |
Автоматически создавать списки с отступами (например, когда пользователь вводит звездочку ('*') в крайнем левом столбце или нажимает Enter в существующей строке элемента списка. |
QTextEdit::AutoAll |
0xffffffff |
Применять всё автоматическое форматирование. В настоящее время поддерживаются только автоматические списки с отступами. |
Тип AutoFormatting является типом typedef для QFlags<AutoFormattingFlag>. Он хранит результат объединения по оператору OR значений AutoFormattingFlag.
перечисление QTextEdit::LineWrapMode
| Константа | Значение |
|---|---|
QTextEdit::NoWrap |
0 |
QTextEdit::WidgetWidth |
1 |
QTextEdit::FixedPixelWidth |
2 |
QTextEdit::FixedColumnWidth |
3 |
Документация свойств
acceptRichText : bool
Это свойство определяет, принимает ли редактор текста вставки форматированного текста пользователем.
Когда это свойство установлено в значение false, редактор текста будет принимать только простой текст от пользователя. Например, через буфер обмена или перетаскивание.
По умолчанию значение этого свойства равно true.
Это свойство было введено в Qt 4.1.
Функции доступа:
| bool | acceptRichText() const |
| void | setAcceptRichText(bool accept) |
autoFormatting : AutoFormatting
Это свойство содержит набор включенных функций автоматического форматирования.
Значение может быть любым сочетанием значений в перечислении AutoFormattingFlag. Значение по умолчанию — AutoNone. Выберите AutoAll, чтобы включить все автоматические форматирования.
В настоящее время единственной функцией автоматического форматирования является AutoBulletList; в будущих версиях Qt могут быть добавлены другие.
Функции доступа:
| QTextEdit::AutoFormatting | autoFormatting() const |
| void | setAutoFormatting(QTextEdit::AutoFormatting features) |
cursorWidth : int
Это свойство задает ширину курсора в пикселях. Значение по умолчанию равно 1.
Это свойство было введено в Qt 4.2.
Функции доступа:
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
document : QTextDocument*
Это свойство содержит базовый документ текстового редактора.
Примечание: Редактор не принимает на себя владение документом, если он не является родительским объектом документа. Родительский объект предоставленного документа остается владельцем объекта. Если ранее назначенный документ является дочерним элементом редактора, он будет удален.
Функции доступа:
| QTextDocument * | document() const |
| void | setDocument(QTextDocument *document) |
documentTitle : QString
Это свойство содержит заголовок документа, извлечённый из текста.
По умолчанию для нового пустого документа это свойство содержит пустую строку.
Функции доступа:
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
html : QString
Это свойство предоставляет HTML-интерфейс к тексту текстового редактора.
toHtml() возвращает текст текстового редактора в формате HTML.
setHtml() изменяет текст текстового редактора. Предыдущий текст удаляется, а история отмены/повторной операции очищается. Входной текст интерпретируется как форматированный текст в формате HTML. currentCharFormat() также сбрасывается, если textCursor() не находится в начале документа.
Примечание: Ответственность за правильную декодировку текста лежит на вызывающей стороне, когда создаётся QString содержащий HTML и передается в setHtml().
По умолчанию для нового пустого документа это свойство содержит текст, описывающий HTML 4.0-документ без текста тела.
Функции доступа:
| QString | toHtml() const |
| void | setHtml(const QString &text) |
Сигнал уведомления:
| void | textChanged() |
См. также Поддержка HTML-подмножества и plainText.
lineWrapColumnOrWidth : int
Это свойство содержит позицию (в пикселях или колонках в зависимости от режима обёртывания), где будет обёрнут текст.
Если режим обёртывания — FixedPixelWidth, значение представляет собой число пикселей от левого края текстового редактора, на котором должен быть обёрнут текст. Если режим обёртывания — FixedColumnWidth, значение — номер колонки (в колонках символов) от левого края текстового редактора, на котором должен быть обёрнут текст.
По умолчанию это свойство содержит значение 0.
Функции доступа:
| int | lineWrapColumnOrWidth() const |
| void | setLineWrapColumnOrWidth(int w) |
См. также lineWrapMode.
lineWrapMode : LineWrapMode
Это свойство содержит режим обёртывания строк.
Режим по умолчанию — WidgetWidth, который обрезает слова по правому краю текстового редактора. Обёртывание происходит по пробелам, сохраняя целые слова. Если нужно обёртывание внутри слов, используйте setWordWrapMode(). Если вы установили режим обёртывания FixedPixelWidth или FixedColumnWidth, вы также должны вызвать setLineWrapColumnOrWidth() с нужной шириной.
Функции доступа:
| QTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QTextEdit::LineWrapMode mode) |
См. также lineWrapColumnOrWidth.
overwriteMode : bool
Это свойство определяет, будет ли введённый пользователем текст перезаписывать существующий текст.
Как и во многих текстовых редакторах, виджет текстового редактора может быть настроен на вставку или перезапись существующего текста новым введённым пользователем.
Если это свойство true, существующий текст перезаписывается символ за символом новым текстом; в противном случае, текст вставляется в позицию курсора, смещая существующий текст.
По умолчанию это свойство false (новый текст не перезаписывает существующий).
Это свойство было введено в Qt 4.1.
Функции доступа:
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
Это свойство содержит текст-заполнитель редактора.
Установка этого свойства отображает текст-заполнитель серого цвета, пока документ document() пуст.
По умолчанию это свойство содержит пустую строку.
Это свойство было введено в Qt 5.2.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
См. также document().
plainText : QString
Это свойство получает и устанавливает содержимое текстового редактора как простой текст. Предыдущее содержимое удаляется, а история отмены/повторной операции сбрасывается при установке свойства. currentCharFormat() также сбрасывается, если textCursor() не находится в начале документа.
Если текстовый редактор имеет другой тип содержимого, он не будет заменён простым текстом при вызове toPlainText(). Единственным исключением из этого является неразрывный пробел, nbsp;, который будет преобразован в обычный пробел.
По умолчанию для редактора без содержимого это свойство содержит пустую строку.
Это свойство было введено в Qt 4.3.
Функции доступа:
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
См. также html.
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
Указывает, как виджет должен взаимодействовать с пользовательским вводом.
Значение по умолчанию зависит от того, является ли QTextEdit только для чтения или редактируемым, и является ли это QTextBrowser или нет.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
Это свойство указывает, включены ли операции отмены и повтора
Пользователи могут отменить или повторить действия только если это свойство имеет значение true и если есть действие, которое можно отменить (или повторить).
Функции доступа:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
Это свойство содержит режим, который QTextEdit будет использовать при обёртывании текста по словам
По умолчанию это свойство имеет значение QTextOption::WrapAtWordBoundaryOrAnywhere.
Функции доступа:
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
См. также QTextOption::WrapMode.
Документация функций-членов
QTextEdit::QTextEdit(const QString &text, QWidget *parent = nullptr)
Конструктор QTextEdit с родителем parent. Текстовое поле будет отображать текст text. Текст интерпретируется как html.
QTextEdit::QTextEdit(QWidget *parent = nullptr)
Конструирует пустое текстовое поле QTextEdit с родителем parent.
[slot] void QTextEdit::append(const QString &text)
Добавляет новый абзац с text в конец текстового поля.
Примечание: Новый добавленный абзац будет иметь тот же формат символов и абзаца, что и текущий абзац, определяемый положением курсора.
См. также currentCharFormat() и QTextCursor::blockFormat().
[slot] void QTextEdit::clear()
Удаляет весь текст в текстовом поле.
Примечания:
- История отмены/повтора также очищается.
- currentCharFormat() сбрасывается, если textCursor() не находится в начале документа.
См. также cut(), setPlainText() и setHtml().
[slot] void QTextEdit::copy()
Копирует выделенный текст в буфер обмена.
См. также copyAvailable().
[signal] void QTextEdit::copyAvailable(bool yes)
Этот сигнал излучается, когда текст выделен или снят с выделения в текстовом поле.
Когда текст выделен, этот сигнал излучается с yes установленным в true. Если текст не выделен или выделенный текст снят с выделения, этот сигнал излучается с yes установленным в false.
Если yes имеет значение true, то copy() может быть использован для копирования выделения в буфер обмена. Если yes имеет значение false, то copy() ничего не делает.
См. также selectionChanged().
[signal] void QTextEdit::currentCharFormatChanged(const QTextCharFormat &f)
Этот сигнал излучается, если формат текущего символа изменился, например, из-за изменения положения курсора.
Новый формат — f.
См. также setCurrentCharFormat().
[signal] void QTextEdit::cursorPositionChanged()
Этот сигнал излучается всякий раз, когда изменяется положение курсора.
[slot] void QTextEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его из текстового поля.
Если текст не выделен, ничего не происходит.
[slot] void QTextEdit::insertHtml(const QString &text)
Удобный слот, который вставляет text, предполагая, что он имеет формат html, в текущую позицию курсора.
Эквивалентно:
edit->textCursor().insertHtml(fragment);
Примечание: При использовании этой функции со стилем, стиль будет применяться только к текущему блоку в документе. Для применения стиля ко всему документу используйте QTextDocument::setDefaultStyleSheet() вместо этого.
[slot] void QTextEdit::insertPlainText(const QString &text)
Удобный слот, который вставляет text в текущую позицию курсора.
Эквивалентно
edit->textCursor().insertText(text);
[slot] void QTextEdit::paste()
Вставляет текст из буфера обмена в текстовое поле в текущую позицию курсора.
Если в буфере обмена нет текста, ничего не происходит.
Чтобы изменить поведение этой функции, т.е. изменить то, что QTextEdit может вставить и как это происходит, переопределите виртуальные функции canInsertFromMimeData() и insertFromMimeData().
[slot] void QTextEdit::redo()
Повторяет последнее действие.
Если нет действия для повтора, т.е. нет шага повтора в истории отмены/повтора, ничего не происходит.
Эта функция была добавлена в Qt 4.2.
См. также undo().
[signal] void QTextEdit::redoAvailable(bool available)
Этот сигнал испускается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
[slot] void QTextEdit::scrollToAnchor(const QString &name)
Прокручивает текстовый редактор так, чтобы якорь с заданным именем name был виден; ничего не делает, если name пустое, или уже видно, или не найдено.
[slot] void QTextEdit::selectAll()
Выделяет весь текст.
См. также copy(), cut() и textCursor().
[signal] void QTextEdit::selectionChanged()
Этот сигнал испускается всякий раз, когда выделение изменяется.
См. также copyAvailable().
[slot] void QTextEdit::setAlignment(Qt::Alignment a)
Устанавливает выравнивание текущего абзаца по a. Допустимые выравнивания — Qt::AlignLeft, Qt::AlignRight, Qt::AlignJustify и Qt::AlignCenter (горизонтальное центрирование).
См. также alignment().
[slot] void QTextEdit::setCurrentFont(const QFont &f)
Устанавливает шрифт текущего формата на f.
См. также currentFont(), setFontPointSize() и setFontFamily().
[slot] void QTextEdit::setFontFamily(const QString &fontFamily)
Устанавливает семейство шрифтов текущего формата на fontFamily.
См. также fontFamily() и setCurrentFont().
[slot] void QTextEdit::setFontItalic(bool italic)
Если italic равно true, устанавливает текущий формат в курсив; в противном случае — в некурсивный.
См. также fontItalic().
[slot] void QTextEdit::setFontPointSize(qreal s)
Устанавливает размер шрифта текущего формата на s.
Обратите внимание, что если s равно нулю или отрицательно, поведение этой функции не определено.
См. также fontPointSize(), setCurrentFont() и setFontFamily().
[slot] void QTextEdit::setFontUnderline(bool underline)
Если underline равно true, устанавливает текущий формат в подчеркнутый; в противном случае — в неподчеркнутый.
См. также fontUnderline().
[slot] void QTextEdit::setFontWeight(int weight)
Устанавливает толщину шрифта текущего формата на заданное значение weight, где значение находится в диапазоне, определённом перечислением QFont::Weight.
См. также fontWeight(), setCurrentFont() и setFontFamily().
[slot] void QTextEdit::setPlainText(const QString &text)
Изменяет текст текстового редактора на строку text. Любой предыдущий текст удаляется.
Примечания:
- text интерпретируется как обычный текст.
- История отмены/повтор также очищается.
- currentCharFormat() сбрасывается, если textCursor() уже не в начале документа.
Примечание: Функция-сеттер для свойства plainText.
См. также toPlainText().
[slot] void QTextEdit::setText(const QString &text)
Устанавливает текст текстового редактора на text. Текст может быть обычным или HTML, и текстовый редактор попытается определить правильный формат.
Используйте setHtml() или setPlainText() напрямую, чтобы избежать угадывания текстовым редактором.
Эта функция была введена в Qt 4.2.
См. также toPlainText() и toHtml().
[slot] void QTextEdit::setTextBackgroundColor(const QColor &c)
Устанавливает цвет фона текста текущего формата на c.
Эта функция была введена в Qt 4.4.
См. также textBackgroundColor().
[slot] void QTextEdit::setTextColor(const QColor &c)
Устанавливает цвет текста текущего формата на c.
См. также textColor().
[signal] void QTextEdit::textChanged()
Этот сигнал испускается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста, или при применении форматирования.
Примечание: Сигнал-уведомление для свойства html.
[slot] void QTextEdit::undo()
Отменяет последнюю операцию.
Если нет операции для отмены, то есть нет шага отмены в истории отмены/повтора, ничего не происходит.
Эта функция была введена в Qt 4.2.
См. также redo().
[signal] void QTextEdit::undoAvailable(bool available)
Этот сигнал испускается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
[slot] void QTextEdit::zoomIn(int range = 1)
Увеличивает масштаб текста, увеличивая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов для нового размера. Это не меняет размер изображений.
См. также zoomOut().
[slot] void QTextEdit::zoomOut(int range = 1)
Уменьшает масштаб текста, уменьшая размер базового шрифта на range пунктов и пересчитывая все размеры шрифтов для нового размера. Это не меняет размер изображений.
См. также zoomIn().
[virtual] QTextEdit::~QTextEdit()
Деструктор.
Qt::Alignment QTextEdit::alignment() const
Возвращает выравнивание текущего абзаца.
См. также setAlignment().
QString QTextEdit::anchorAt(const QPoint &pos) const
Возвращает ссылку на якорь в позиции pos или пустую строку, если якорь в этой точке не существует.
[virtual protected] bool QTextEdit::canInsertFromMimeData(const QMimeData *source) const
Эта функция возвращает true, если содержимое объекта MIME-данных, указанного source, может быть декодировано и вставлено в документ. Она вызывается, например, при перетаскивании, когда курсор мыши входит в этот виджет, и необходимо определить, можно ли принять операцию перетаскивания и перемещения.
Переопределите эту функцию для поддержки перетаскивания и перемещения дополнительных MIME-типов.
bool QTextEdit::canPaste() const
Возвращает значение, указывающее, можно ли вставить текст из буфера обмена в текстовый редактор.
Эта функция была введена в Qt 4.2.
[override virtual protected] void QTextEdit::changeEvent(QEvent *e)
Переопределяет: QFrame::changeEvent(QEvent *ev).
[override virtual protected] void QTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределяет: QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).
Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().
Если вы не хотите, чтобы текстовый редактор имел контекстное меню, вы можете установить его contextMenuPolicy в Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращённое меню.
Информация о событии передаётся в объекте event.
void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}
[virtual protected] QMimeData *QTextEdit::createMimeDataFromSelection() const
Эта функция возвращает новый объект MIME-данных для представления содержимого текущего выделения в текстовом поле. Она вызывается, когда выделение необходимо упаковать в новый объект QMimeData; например, при запуске операции перетаскивания или при копировании данных в буфер обмена.
Если вы переопределяете эту функцию, обратите внимание, что владение возвращённым объектом QMimeData передаётся вызывающей стороне. Выделение можно получить, используя функцию textCursor().
QMenu *QTextEdit::createStandardContextMenu()
Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь щелкает правой кнопкой мыши в текстовом поле. Она вызывается из обработчика событий контекстного меню contextMenuEvent() по умолчанию. Владение созданным меню передаётся вызывающей стороне.
Рекомендуется использовать версию createStandardContextMenu(QPoint) для активации действий, зависящих от места щелчка пользователя.
QMenu *QTextEdit::createStandardContextMenu(const QPoint &position)
Эта функция создаёт стандартное контекстное меню, которое отображается, когда пользователь щелкает правой кнопкой мыши в текстовом поле. Она вызывается из обработчика событий контекстного меню contextMenuEvent() по умолчанию и принимает координаты position в координатах документа, где был щелчок мышью. Это может активировать действия, зависящие от позиции щелчка. Владение созданным меню передаётся вызывающей стороне.
Данная функция была добавлена в Qt 4.4.
QTextCharFormat QTextEdit::currentCharFormat() const
Возвращает формат символа, используемый при вставке нового текста.
См. также setCurrentCharFormat().
QFont QTextEdit::currentFont() const
Возвращает шрифт текущего формата.
См. также setCurrentFont(), setFontFamily() и setFontPointSize().
QTextCursor QTextEdit::cursorForPosition(const QPoint &pos) const
Возвращает QTextCursor в позиции pos (в координатах области просмотра).
QRect QTextEdit::cursorRect(const QTextCursor &cursor) const
Возвращает прямоугольник (в координатах области просмотра), включающий cursor.
QRect QTextEdit::cursorRect() const
Возвращает прямоугольник (в координатах области просмотра), включающий курсор текстового поля.
[override virtual protected] void QTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределяет: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
[override virtual protected] void QTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределяет: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределяет: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QTextEdit::dropEvent(QDropEvent *e)
Переопределяет: QAbstractScrollArea::dropEvent(QDropEvent *event).
void QTextEdit::ensureCursorVisible()
Обеспечивает видимость курсора, при необходимости прокручивая текстовое поле.
QList<QTextEdit::ExtraSelection> QTextEdit::extraSelections() const
Возвращает ранее установленные дополнительные выделения.
Данная функция была добавлена в Qt 4.2.
См. также setExtraSelections().
bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Ищет следующее вхождение строки exp, используя заданные options. Возвращает true если exp найдена и изменяет курсор для выделения совпадения; в противном случае возвращает false.
bool QTextEdit::find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Это перегруженная функция.
Ищет следующее вхождение, соответствующее регулярному выражению exp, используя заданные options. Опция QTextDocument::FindCaseSensitively игнорируется для этого переопределения; используйте QRegExp::caseSensitivity вместо этого.
Возвращает true если совпадение найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.
Данная функция была добавлена в Qt 5.3.
bool QTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Это перегруженная функция.
Ищет следующее вхождение, соответствующее регулярному выражению exp, используя заданные options. Опция QTextDocument::FindCaseSensitively игнорируется для этого переопределения; используйте QRegularExpression::CaseInsensitiveOption вместо этого.
Возвращает true если совпадение найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.
Данная функция была добавлена в Qt 5.13.
[override virtual protected] void QTextEdit::focusInEvent(QFocusEvent *e)
Переопределяет: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QTextEdit::focusNextPrevChild(bool next)
Переопределяет: QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QTextEdit::focusOutEvent(QFocusEvent *e)
Переопределяет: QWidget::focusOutEvent(QFocusEvent *event).
QString QTextEdit::fontFamily() const
Возвращает семейство шрифтов текущего формата.
См. также setFontFamily(), setCurrentFont() и setFontPointSize().
bool QTextEdit::fontItalic() const
Возвращает true если шрифт текущего формата курсивный; в противном случае возвращает false.
См. также setFontItalic().
qreal QTextEdit::fontPointSize() const
Возвращает размер шрифта текущего формата в пунктах.
См. также setFontFamily(), setCurrentFont() и setFontPointSize().
bool QTextEdit::fontUnderline() const
Возвращает true если шрифт текущего формата подчеркнут; в противном случае возвращает false.
См. также setFontUnderline().
int QTextEdit::fontWeight() const
Возвращает начертание шрифта текущего формата.
См. также setFontWeight(), setCurrentFont(), setFontPointSize() и QFont::Weight.
[override virtual protected] void QTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределяет: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределяет: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[virtual protected] void QTextEdit::insertFromMimeData(const QMimeData *source)
Эта функция вставляет содержимое объекта MIME-данных, заданного параметром source, в текстовое поле в текущей позиции курсора. Она вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена или когда текстовое поле принимает данные из операции перетаскивания.
Переопределите эту функцию, чтобы включить поддержку перетаскивания для дополнительных типов MIME.
[override virtual protected] void QTextEdit::keyPressEvent(QKeyEvent *e)
Переопределяет: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
[override virtual protected] void QTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределяет: QWidget::keyReleaseEvent(QKeyEvent *event).
[virtual] QVariant QTextEdit::loadResource(int type, const QUrl &name)
Загружает ресурс, заданный заданным type и name.
Эта функция является расширением функции QTextDocument::loadResource().
Примечание: Эту функцию можно вызывать через механизм метаобъектов и из QML. См. Q_INVOKABLE.
См. также QTextDocument::loadResource().
void QTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Объединяет свойства, заданные в modifier, в текущий формат символа, вызвав QTextCursor::mergeCharFormat на курсоре редактора. Если редактор имеет выделение, то свойства modifier применяются непосредственно к выделению.
См. также QTextCursor::mergeCharFormat().
[override virtual protected] void QTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
[override virtual protected] void QTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QTextEdit::mousePressEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
[override virtual protected] void QTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределяет: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
void QTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Перемещает курсор, выполняя заданную операцию operation.
Если mode равен QTextCursor::KeepAnchor, курсор выделяет текст, по которому он перемещается. Это тот же эффект, что и у пользователя при нажатой клавише Shift и перемещении курсора клавишами управления курсором.
Функция была добавлена в Qt 4.2.
См. также QTextCursor::movePosition().
[override virtual protected] void QTextEdit::paintEvent(QPaintEvent *event)
Переопределяет: QAbstractScrollArea::paintEvent(QPaintEvent *event).
Обработчик этого события можно переопределить в подклассе для получения событий рисования, переданных в event. Обычно нет необходимости переопределять эту функцию в подклассе QTextEdit.
Предупреждение: Не следует изменять базовый текстовый документ внутри переопределения этой функции.
void QTextEdit::print(QPagedPaintDevice *printer) const
Удобная функция для печати документа текстового поля в указанном printer. Это эквивалентно вызову метода print документа напрямую, за исключением того, что эта функция также поддерживает QPrinter::Selection в качестве диапазона печати.
Функция была добавлена в Qt 4.3.
См. также QTextDocument::print().
[override virtual protected] void QTextEdit::resizeEvent(QResizeEvent *e)
Переопределяет: QAbstractScrollArea::resizeEvent(QResizeEvent *event).
[override virtual protected] void QTextEdit::scrollContentsBy(int dx, int dy)
Переопределяет: QAbstractScrollArea::scrollContentsBy(int dx, int dy).
void QTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
Устанавливает формат символа, который будет использоваться при вставке нового текста, в format, вызвав QTextCursor::setCharFormat() на курсоре редактора. Если редактор имеет выделение, то формат символа напрямую применяется к выделению.
См. также currentCharFormat().
void QTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
Эта функция позволяет временно помечать определённые области в документе заданным цветом, указанным как selections. Это может быть полезно, например, в редакторе программ для выделения целой строки текста заданным фоновым цветом, чтобы указать на наличие точки останова.
Функция была добавлена в Qt 4.2.
См. также QTextEdit::ExtraSelection и extraSelections().
void QTextEdit::setTextCursor(const QTextCursor &cursor)
Устанавливает видимый cursor.
См. также textCursor().
[override virtual protected] void QTextEdit::showEvent(QShowEvent *)
Переопределяет: QWidget::showEvent(QShowEvent *event).
QColor QTextEdit::textBackgroundColor() const
Возвращает цвет фона текста текущего формата.
Функция была добавлена в Qt 4.4.
См. также setTextBackgroundColor().
QColor QTextEdit::textColor() const
Возвращает цвет текста текущего формата.
См. также setTextColor().
QTextCursor QTextEdit::textCursor() const
Возвращает копию QTextCursor, представляющую текущий видимый курсор. Обратите внимание, что изменения в возвращённом курсоре не влияют на курсор QTextEdit; используйте setTextCursor() для обновления видимого курсора.
См. также setTextCursor().
QString QTextEdit::toPlainText() const
QString QTextEdit::toPlainText() const
Возвращает текст текстового поля в виде простого текста.
Примечание: Функция-получатель для свойства plainText.
См. также QTextEdit::setPlainText().
[override virtual protected] void QTextEdit::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-5.13/qtextedit.html