Spec-Zone.ru › Qt 5.13

Класс QTextEdit

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

Заголовок: #include <QTextEdit>
qmake: QT += widgets
Наследует: QAbstractScrollArea
Наследуется от:

QTextBrowser

  • Список всех членов, включая наследуемые
  • Устаревшие члены

Открытые типы

Дополнительный выделенный фрагмент
флаги Автоматическое форматирование
перечисление ФлагАвтоматическогоФорматирования { Автоматическое_нет, Автоматическое_маркированный_список, Автоматическое_все }
перечисление РежимПереносаСтроки { БезПереноса, ШиринаВиджет, ФиксированнаяШиринаПикселей, ФиксированнаяШиринаСтолбцов }

Свойства

  • acceptRichText : bool
  • autoFormatting : AutoFormatting
  • ШиринаКурсора : int
  • документ : QTextDocument*
  • НазваниеДокумента : QString
  • html : QString
  • ШиринаИлиСтолбецПереносаСтроки : int
  • РежимПереносаСтроки : LineWrapMode
  • РежимЗамены : bool
  • ТекстЗаполнителя : QString
  • ОбычныйТекст : QString
  • ТолькоЧтение : bool
  • TabПереключаетФокус : bool
  • РасстояниеДоОтступа : qreal
  • ФлагиВзаимодействияСТекстом : Qt::TextInteractionFlags
  • ВключеноОтмена_Повтор : bool
  • РежимПереносаСлова : QTextOption::WrapMode

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

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

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

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

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

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

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

[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

Spec-Zone.ru

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