Класс QLineEdit
Виджет QLineEdit — это однострочный текстовый редактор. Подробнее...
| Заголовок: | #include <QLineEdit> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Общедоступные типы
| Перечисление | ActionPosition { LeadingPosition, TrailingPosition } |
| Перечисление | EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit } |
Свойства
|
|
Общедоступные функции
| QLineEdit(const QString &contents, QWidget *parent = nullptr) | |
| QLineEdit(QWidget *parent = nullptr) | |
| virtual | ~QLineEdit() |
| void | addAction(QAction *action, QLineEdit::ActionPosition position) |
| QAction * | addAction(const QIcon &icon, QLineEdit::ActionPosition position) |
| Qt::Alignment | alignment() const |
| void | backspace() |
| QCompleter * | completer() const |
| QMenu * | createStandardContextMenu() |
| void | cursorBackward(bool mark, int steps = 1) |
| void | cursorForward(bool mark, int steps = 1) |
| Qt::CursorMoveStyle | cursorMoveStyle() const |
| int | cursorPosition() const |
| int | cursorPositionAt(const QPoint &pos) |
| void | cursorWordBackward(bool mark) |
| void | cursorWordForward(bool mark) |
| void | del() |
| void | deselect() |
| QString | displayText() const |
| bool | dragEnabled() const |
| QLineEdit::EchoMode | echoMode() const |
| void | end(bool mark) |
| bool | hasAcceptableInput() const |
| bool | hasFrame() const |
| bool | hasSelectedText() const |
| void | home(bool mark) |
| QString | inputMask() const |
| void | insert(const QString &newText) |
| bool | isClearButtonEnabled() const |
| bool | isModified() const |
| bool | isReadOnly() const |
| bool | isRedoAvailable() const |
| bool | isUndoAvailable() const |
| int | maxLength() const |
| QString | placeholderText() const |
| QString | selectedText() const |
| int | selectionEnd() const |
| int | selectionLength() const |
| int | selectionStart() const |
| void | setAlignment(Qt::Alignment flag) |
| void | setClearButtonEnabled(bool enable) |
| void | setCompleter(QCompleter *c) |
| void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
| void | setCursorPosition(int) |
| void | setDragEnabled(bool b) |
| void | setEchoMode(QLineEdit::EchoMode) |
| void | setFrame(bool) |
| void | setInputMask(const QString &inputMask) |
| void | setMaxLength(int) |
| void | setModified(bool) |
| void | setPlaceholderText(const QString &) |
| void | setReadOnly(bool) |
| void | setSelection(int start, int length) |
| void | setTextMargins(int left, int top, int right, int bottom) |
| void | setTextMargins(const QMargins &margins) |
| void | setValidator(const QValidator *v) |
| QString | text() const |
| QMargins | textMargins() const |
| const QValidator * | validator() const |
Реализованные публичные функции
| виртуальный bool | event(QEvent *e) override |
| виртуальный QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
| виртуальный QSize | minimumSizeHint() const override |
| виртуальный QSize | sizeHint() const override |
| виртуальный void | timerEvent(QTimerEvent *e) override |
Public Slots
| void | clear() |
| void | copy() const |
| void | cut() |
| void | paste() |
| void | redo() |
| void | selectAll() |
| void | setText(const QString &) |
| void | undo() |
Signals
| void | cursorPositionChanged(int oldPos, int newPos) |
| void | editingFinished() |
| void | inputRejected() |
| void | returnPressed() |
| void | selectionChanged() |
| void | textChanged(const QString &text) |
| void | textEdited(const QString &text) |
Protected Functions
| QRect | cursorRect() const |
| виртуальный void | initStyleOption(QStyleOptionFrame *option) const |
Reimplemented Protected Functions
| виртуальный void | changeEvent(QEvent *ev) override |
| виртуальный void | contextMenuEvent(QContextMenuEvent *event) override |
| виртуальный void | dragEnterEvent(QDragEnterEvent *e) override |
| виртуальный void | dragLeaveEvent(QDragLeaveEvent *e) override |
| виртуальный void | dragMoveEvent(QDragMoveEvent *e) override |
| виртуальный void | dropEvent(QDropEvent *e) override |
| виртуальный void | focusInEvent(QFocusEvent *e) override |
| виртуальный void | focusOutEvent(QFocusEvent *e) override |
| виртуальный void | inputMethodEvent(QInputMethodEvent *e) override |
| виртуальный void | keyPressEvent(QKeyEvent *event) override |
| виртуальный void | keyReleaseEvent(QKeyEvent *) override |
| виртуальный void | mouseDoubleClickEvent(QMouseEvent *e) override |
| виртуальный void | mouseMoveEvent(QMouseEvent *e) override |
| виртуальный void | mousePressEvent(QMouseEvent *e) override |
| виртуальный void | mouseReleaseEvent(QMouseEvent *e) override |
| виртуальный void | paintEvent(QPaintEvent *) override |
Detailed Description
Поле ввода строки позволяет пользователю вводить и редактировать одну строку простого текста с полезным набором функций редактирования, включая отмену и повторение, вырезание и вставку, а также перетаскивание (см. setDragEnabled()).
Изменяя echoMode() поля ввода строки, его также можно использовать в качестве поля «только для записи», например, для ввода паролей.
Длина текста может быть ограничена maxLength(). Текст может быть произвольно ограничен с помощью validator() или inputMask(), или обоих. При переключении между валидатором и маской ввода в одном поле ввода строки лучше всего очистить валидатор или маску ввода, чтобы избежать неопределенного поведения.
Связанный класс — QTextEdit, который позволяет редактировать текст с несколькими строками и форматированием.
Вы можете изменить текст с помощью setText() или insert(). Текст извлекается с помощью text(); отображаемый текст (который может отличаться, см. EchoMode) извлекается с помощью displayText(). Вы можете выбрать текст с помощью setSelection() или selectAll(), а выделенный текст можно вырезать, скопировать и вставить. Текст можно выровнять с помощью setAlignment().
При изменении текста генерируется сигнал textChanged; при изменении текста, отличном от вызова setText(), генерируется сигнал textEdited; при перемещении курсора генерируется сигнал cursorPositionChanged; а при нажатии клавиш ВВОД или ENTER генерируется сигнал returnPressed.
При завершении редактирования, либо из-за потери фокуса полем ввода, либо при нажатии клавиш ВВОД/ENTER, генерируется сигнал editingFinished.
Обратите внимание, что если для поля ввода установлен валидатор, сигналы returnPressed()/editingFinished() будут сгенерированы только в том случае, если валидатор вернет QValidator::Acceptable.
По умолчанию QLineEdits имеют рамку, как указано в руководствах по стилю платформы; вы можете отключить её, вызвав setFrame(false).
Стандартные сочетания клавиш описаны ниже. Поле ввода также предоставляет контекстное меню (обычно вызываемое щелчком правой кнопкой мыши), которое предоставляет некоторые из этих опций редактирования.
END_OF_DOCUMENT_MARKER| Клавиша | Действие |
|---|---|
| Стрелка влево | Перемещает курсор на один символ влево. |
| Shift+Стрелка влево | Перемещает и выделяет текст на один символ влево. |
| Стрелка вправо | Перемещает курсор на один символ вправо. |
| Shift+Стрелка вправо | Перемещает и выделяет текст на один символ вправо. |
| Home | Перемещает курсор к началу строки. |
| End | Перемещает курсор к концу строки. |
| Backspace | Удаляет символ слева от курсора. |
| Ctrl+Backspace | Удаляет слово слева от курсора. |
| Delete | Удаляет символ справа от курсора. |
| Ctrl+Delete | Удаляет слово справа от курсора. |
| Ctrl+A | Выделить все. |
| Ctrl+C | Копирует выделенный текст в буфер обмена. |
| Ctrl+Insert | Копирует выделенный текст в буфер обмена. |
| Ctrl+K | Удаляет до конца строки. |
| Ctrl+V | Вставляет текст из буфера обмена в строку редактирования. |
| Shift+Insert | Вставляет текст из буфера обмена в строку редактирования. |
| Ctrl+X | Удаляет выделенный текст и копирует его в буфер обмена. |
| Shift+Delete | Удаляет выделенный текст и копирует его в буфер обмена. |
| Ctrl+Z | Отменить последнюю операцию. |
| Ctrl+Y | Повторить последнюю отменённую операцию. |
Любая другая последовательность клавиш, представляющая допустимый символ, вставит этот символ в строку редактирования.
См. также QTextEdit, QLabel, QComboBox, Справочник по разработке графического интерфейса: Поля, Ввод, и Пример использования Line Edits.
Документация типов элементов
[since 5.2] перечисление QLineEdit::ActionPosition
Это перечисление описывает, как виджеты действий должны отображаться в строке редактирования.
| Константа | Значение | Описание |
|---|---|---|
QLineEdit::LeadingPosition |
0 |
Виджет отображается слева от текста при использовании направления компоновки Qt::LeftToRight или справа при использовании Qt::RightToLeft, соответственно. |
QLineEdit::TrailingPosition |
1 |
Виджет отображается справа от текста при использовании направления компоновки Qt::LeftToRight или слева при использовании Qt::RightToLeft, соответственно. |
Это перечисление было введено или изменено в Qt 5.2.
См. также addAction(), removeAction(), и QWidget::layoutDirection.
перечисление QLineEdit::EchoMode
Это перечисление описывает, как строка редактирования должна отображать свое содержимое.
| Константа | Значение | Описание |
|---|---|---|
QLineEdit::Normal |
0 |
Отображает символы по мере ввода. Это значение по умолчанию. |
QLineEdit::NoEcho |
1 |
Ничего не отображает. Это может быть подходящим для паролей, где даже длина пароля должна оставаться в секрете. |
QLineEdit::Password |
2 |
Отображает символы маски пароля, зависящие от платформы, вместо фактически вводимых символов. |
QLineEdit::PasswordEchoOnEdit |
3 |
Отображает символы по мере ввода во время редактирования, в противном случае отображает символы как и в Password. |
См. также setEchoMode() и echoMode().
Документация свойств
[read-only] acceptableInput : const bool
Это свойство содержит значение, указывающее, соответствует ли ввод маске inputMask и валидатору.
По умолчанию это свойство равно true.
Функции доступа:
| bool | hasAcceptableInput() const |
См. также setInputMask() и setValidator().
alignment : Qt::Alignment
Это свойство содержит выравнивание поля ввода.
Разрешено как горизонтальное, так и вертикальное выравнивание. Qt::AlignJustify будет отображаться как Qt::AlignLeft.
По умолчанию это свойство содержит комбинацию Qt::AlignLeft и Qt::AlignVCenter.
Функции доступа:
| Qt::Alignment | alignment() const |
| void | setAlignment(Qt::Alignment flag) |
См. также Qt::Alignment.
[since 5.2] clearButtonEnabled : bool
Это свойство указывает, отображается ли кнопка очистки в поле ввода, когда оно не пустое.
Если включено, поле ввода отображает кнопку очистки в конце, когда оно содержит текст, в противном случае кнопка не отображается (по умолчанию).
Это свойство было добавлено в Qt 5.2.
Функции доступа:
| bool | isClearButtonEnabled() const |
| void | setClearButtonEnabled(bool enable) |
См. также addAction() и removeAction().
cursorMoveStyle : Qt::CursorMoveStyle
Это свойство определяет стиль перемещения курсора в данном поле ввода.
Когда это свойство установлено в Qt::VisualMoveStyle, поле ввода использует визуальный стиль перемещения. Нажатие клавиши влево всегда перемещает курсор влево, независимо от направления текста. То же самое относится к клавише вправо.
Когда свойство установлено в Qt::LogicalMoveStyle (по умолчанию), в блоке текста слева направо увеличение позиции курсора происходит при нажатии клавиши влево, уменьшение при нажатии клавиши вправо. Если блок текста справа налево, поведение обратное.
Функции доступа:
| Qt::CursorMoveStyle | cursorMoveStyle() const |
| void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
cursorPosition : int
Это свойство содержит текущую позицию курсора в этом поле ввода.
Установка позиции курсора приводит к перерисовке при необходимости.
По умолчанию это свойство имеет значение 0.
Функции доступа:
| int | cursorPosition() const |
| void | setCursorPosition(int) |
[read-only] displayText : const QString
Это свойство содержит отображаемый текст.
Если echoMode равен Normal, это значение совпадает с text(); если EchoMode равен Password или PasswordEchoOnEdit, возвращается строка с символами маски пароля, зависящими от платформы, размером text().length(), например, "******"; если EchoMode равен NoEcho, возвращается пустая строка "".
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | displayText() const |
См. также setEchoMode(), text() и EchoMode.
dragEnabled : bool
Это свойство указывает, запускается ли перетаскивание, если пользователь нажимает и перемещает мышь на выделенный текст.
Перетаскивание отключено по умолчанию.
Функции доступа:
| bool | dragEnabled() const |
| void | setDragEnabled(bool b) |
echoMode : EchoMode
Это свойство содержит режим отображения текста в поле ввода.
Режим отображения определяет, как вводимый в поле ввода текст отображается пользователю.
Наиболее распространенный режим — Normal, в котором вводимый пользователем текст отображается без изменений, но QLineEdit также поддерживает режимы, позволяющие скрывать или маскировать вводимый текст: это режимы NoEcho, Password и PasswordEchoOnEdit.
Отображение виджета и возможность копирования или перетаскивания текста зависят от этого параметра.
По умолчанию это свойство установлено в Normal.
Функции доступа:
| QLineEdit::EchoMode | echoMode() const |
| void | setEchoMode(QLineEdit::EchoMode) |
См. также EchoMode и displayText().
frame : bool
Это свойство указывает, отображается ли рамка вокруг поля ввода.
Если включено (по умолчанию), поле ввода отображается в рамке, в противном случае без рамки.
Функции доступа:
| bool | hasFrame() const |
| void | setFrame(bool) |
[read-only] hasSelectedText : const bool
Это свойство указывает, выделен ли текст.
hasSelectedText() возвращает true если часть или весь текст выделен пользователем; иначе возвращает false.
По умолчанию это свойство равно false.
Функции доступа:
| bool | hasSelectedText() const |
См. также selectedText().
inputMask : QString
Это свойство содержит маску для проверки вводимых данных.
Если маска не задана, inputMask() возвращает пустую строку.
Устанавливает маску проверки для QLineEdit. Вместо или вместе с маской можно использовать валидаторы; см. setValidator().
Сбросить маску и вернуться к нормальной работе QLineEdit, передав пустую строку ("").
Маска ввода — это шаблон ввода. Он может содержать следующие элементы:
| Символы маски | Определяет Category допустимых символов ввода в этой позиции |
| Метасимволы | Различные специальные значения |
| Разделители | Все остальные символы считаются неизменяемыми разделителями |
В следующей таблице показаны символы маски и метасимволы, которые могут быть использованы в маске ввода.
| Символ маски | Значение |
|---|---|
A |
требуемый символ категории «Буква», например, A-Z, a-z. |
a |
разрешенный, но не обязательный символ категории «Буква». |
N |
требуемый символ категории «Буква» или «Цифра», например, A-Z, a-z, 0-9. |
n |
разрешенный, но не обязательный символ категории «Буква» или «Цифра». |
X |
требуемый любой символ, отличный от пробела. |
x |
разрешенный, но не обязательный любой символ, отличный от пробела. |
9 |
требуемый символ категории «Цифра», например, 0-9. |
0 |
разрешенный, но не обязательный символ категории «Цифра». |
D |
требуемый символ категории «Цифра», больше нуля, например, 1-9 |
d |
разрешенный, но не обязательный символ категории «Цифра», больше нуля, например, 1-9. |
# |
разрешенный, но не обязательный символ категории «Цифра» или знак плюс/минус. |
H |
требуемый шестнадцатеричный символ. A-F, a-f, 0-9. |
h |
разрешенный, но не обязательный шестнадцатеричный символ. |
B |
требуемый двоичный символ. 0-1. |
b |
разрешенный, но не обязательный двоичный символ. |
| Символ метаданных | Значение |
> |
Все последующие символы алфавита преобразуются в верхний регистр. |
< |
Все последующие символы алфавита преобразуются в нижний регистр. |
! |
Отключение преобразования регистра. |
;c |
Завершает маску ввода и устанавливает символ пустоты на c. |
[ ] { } |
Зарезервировано. |
\ |
Используйте \ для экранирования специальных символов, перечисленных выше, чтобы использовать их в качестве разделителей. |
При создании или очистке строки редактирования она заполняется копией строки маски ввода, где символы метаданных удалены, а символы маски заменены символом пустоты (по умолчанию, space).
При установке маски ввода метод text() возвращает изменённую копию содержимого строки редактирования, где все символы пустоты удалены. Неизменённое содержимое можно прочитать, используя displayText().
Метод hasAcceptableInput() возвращает false, если текущее содержимое строки редактирования не соответствует требованиям маски ввода.
Примеры:
| Маска | Примечания |
|---|---|
000.000.000.000;_ |
IP-адрес; пустоты — _. |
HH:HH:HH:HH:HH:HH;_ |
MAC-адрес |
0000-00-00 |
Дата ISO; пустоты — space
|
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# |
Номер лицензии; пустоты — # и все символы (буквы) преобразуются в верхний регистр. |
Для управления диапазоном (например, для IP-адреса) используйте маски вместе с валидаторами.
Функции доступа:
| QString | inputMask() const |
| void | setInputMask(const QString &inputMask) |
См. также maxLength, QChar::isLetter(), QChar::isNumber(), и QChar::digitValue().
maxLength : int
Это свойство определяет максимальную разрешенную длину текста.
Если текст слишком длинный, он обрезается до предела.
При обрезке любой выделенный текст будет снят с выделения, позиция курсора устанавливается в 0, и отображается первая часть строки.
Если в строке редактирования есть маска ввода, маска определяет максимальную длину строки.
По умолчанию это свойство содержит значение 32767.
Функции доступа:
| int | maxLength() const |
| void | setMaxLength(int) |
См. также inputMask.
modified : bool
Это свойство указывает, было ли содержимое строки редактирования изменено пользователем.
Флаг modified никогда не считывается QLineEdit; он имеет значение false по умолчанию и меняется на true всякий раз, когда пользователь изменяет содержимое строки редактирования.
Это полезно для случаев, когда требуется предоставить значение по умолчанию, но неизвестно, каким должно быть это значение (возможно, оно зависит от других полей формы). Начните с строки редактирования без лучшего значения по умолчанию, и когда значение по умолчанию известно, если modified() возвращает false (пользователь не вводил текст), вставьте значение по умолчанию.
Вызов setText() сбрасывает флаг modified на false.
Функции доступа:
| bool | isModified() const |
| void | setModified(bool) |
placeholderText : QString
Это свойство содержит текст-заполнитель строки редактирования.
Установление этого свойства заставляет строку редактирования отображать текст-заполнитель серым цветом, пока строка редактирования пустая.
Обычно пустая строка редактирования отображает текст-заполнитель даже при фокусе. Однако, если содержимое выровнено по горизонтали, текст-заполнитель не отображается под курсором, когда строка редактирования имеет фокус.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &) |
См. также text().
readOnly : bool
Это свойство указывает, является ли строка редактирования только для чтения.
В режиме только для чтения пользователь всё ещё может копировать текст в буфер обмена или перетаскивать текст (если echoMode() равен Normal), но не может его редактировать.
QLineEdit не отображает курсор в режиме только для чтения.
По умолчанию это свойство равно false.
Функции доступа:
| bool | isReadOnly() const |
| void | setReadOnly(bool) |
См. также setEnabled().
[read-only] redoAvailable : const bool
Это свойство указывает, доступна ли операция повтора.
Функция повтора становится доступной после того, как пользователь выполнил одну или несколько операций отмены для текста в строке редактирования.
По умолчанию это свойство равно false.
Функции доступа:
| bool | isRedoAvailable() const |
[read-only] selectedText : const QString
Это свойство содержит выделенный текст.
Если выделенный текст отсутствует, значение этого свойства — пустая строка.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | selectedText() const |
См. также hasSelectedText().
text : QString
Это свойство содержит текст строки редактирования.
Установка этого свойства очищает выделение, очищает историю отмены/повтора, перемещает курсор в конец строки и сбрасывает свойство modified на false. Текст не проверяется при вставке с помощью setText().
Текст обрезается до maxLength() символов.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | text() const |
| void | setText(const QString &) |
Сигнал уведомления:
| void | textChanged(const QString &text) |
[read-only] undoAvailable : const bool
Это свойство указывает, доступно ли действие отмены.
Отмена становится доступной после того, как пользователь изменил текст в поле ввода.
По умолчанию это свойство false.
Функции доступа:
| bool | isUndoAvailable() const |
Документация по членам-функциям
QLineEdit::QLineEdit(const QString &contents, QWidget *parent = nullptr)
Конструирует поле ввода, содержащее текст contents.
Позиция курсора устанавливается в конец строки, а максимальная длина текста — в 32767 символов.
Аргумент parent передается конструктору QWidget.
См. также text() и setMaxLength().
QLineEdit::QLineEdit(QWidget *parent = nullptr)
Конструирует поле ввода без текста.
Максимальная длина текста устанавливается в 32767 символов.
Аргумент parent передается конструктору QWidget.
См. также setText() и setMaxLength().
[slot] void QLineEdit::clear()
Очищает содержимое поля ввода.
См. также setText() и insert().
[slot] void QLineEdit::copy() const
Копирует выделенный текст в буфер обмена, если он есть, и если echoMode() имеет значение Normal.
[signal] void QLineEdit::cursorPositionChanged(int oldPos, int newPos)
Этот сигнал испускается при каждом перемещении курсора. Предыдущая позиция задана oldPos, а новая — newPos.
См. также setCursorPosition() и cursorPosition().
[slot] void QLineEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его, если он есть, и если echoMode() имеет значение Normal.
Если текущий валидатор запрещает удаление выделенного текста, cut() скопирует текст без удаления.
См. также copy(), paste() и setValidator().
[signal] void QLineEdit::editingFinished()
Этот сигнал испускается при нажатии клавиши Ввод или Enter, или если поле ввода теряет фокус, а его содержимое изменилось с момента последнего испускания этого сигнала.
Обратите внимание, что если для поля ввода задан валидатор или маска ввода, сигнал editingFinished() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.
[signal, since 5.12] void QLineEdit::inputRejected()
Этот сигнал испускается, когда пользователь нажимает клавишу, которая не считается допустимым вводом. Например, если нажатие клавиши приводит к тому, что вызов validate() валидатора возвращает Invalid. Другой случай — попытка ввода большего количества символов, чем максимальная длина поля ввода.
Примечание: этот сигнал по-прежнему будет испущен в случае, когда часть текста принята, но не вся. Например, если установлена максимальная длина, а текст из буфера обмена длиннее максимальной длины при его вставке.
Функция была добавлена в Qt 5.12.
[slot] void QLineEdit::paste()
Вставляет текст из буфера обмена в позицию курсора, удаляя выделенный текст, если поле ввода не только для чтения.
Если результат будет недопустим для текущего валидатора, ничего не произойдёт.
[slot] void QLineEdit::redo()
Повторяет последнее действие, если повторение доступно.
[signal] void QLineEdit::returnPressed()
Этот сигнал испускается при нажатии клавиши Ввод или Enter. Обратите внимание, что если для поля ввода задан валидатор или маска ввода, сигнал returnPressed() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.
[slot] void QLineEdit::selectAll()
Выделяет весь текст (т.е. выделяет его) и перемещает курсор в конец. Это полезно, когда был вставлен значение по умолчанию, потому что если пользователь введёт данные до нажатия на виджет, выделенный текст будет удалён.
См. также setSelection() и deselect().
[signal] void QLineEdit::selectionChanged()
Этот сигнал испускается при каждом изменении выделения.
См. также hasSelectedText() и selectedText().
[signal] void QLineEdit::textChanged(const QString &text)
Этот сигнал испускается при каждом изменении текста. Аргумент text — новый текст.
В отличие от textEdited(), этот сигнал также испускается при программном изменении текста, например, при вызове setText().
Примечание: Сигнал-уведомление для свойства text.
[signal] void QLineEdit::textEdited(const QString &text)
Этот сигнал испускается при каждом изменении текста. Аргумент text — новый текст.
В отличие от textChanged(), этот сигнал не испускается при программном изменении текста, например, при вызове setText().
[slot] void QLineEdit::undo()
Отменяет последнее действие, если отмена доступна. Снимает выделение, если оно было, и обновляет начальную позицию выделения до текущей позиции курсора.
[virtual] QLineEdit::~QLineEdit()
Уничтожает поле ввода.
[since 5.2] void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)
Добавляет action в список действий в позиции position.
Функция была добавлена в Qt 5.2.
[since 5.2] QAction *QLineEdit::addAction(const QIcon &icon, QLineEdit::ActionPosition position)
Это перегруженная функция.
Создаёт новое действие с заданным icon в позиции position.
Функция была добавлена в Qt 5.2.
void QLineEdit::backspace()
Если текст не выделен, удаляет символ слева от курсора и перемещает курсор на одну позицию влево. Если текст выделен, курсор перемещается в начало выделенного текста, и выделенный текст удаляется.
См. также del().
[override virtual protected] void QLineEdit::changeEvent(QEvent *ev)
Переопределяет: QWidget::changeEvent(QEvent *event).
QCompleter *QLineEdit::completer() const
Возвращает текущий QCompleter, который предоставляет автодополнение.
См. также setCompleter().
[override virtual protected] void QLineEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределяет: QWidget::contextMenuEvent(QContextMenuEvent *event).
Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().
Если вы не хотите, чтобы в строке редактирования отображалось контекстное меню, вы можете установить свойство contextMenuPolicy в значение Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращаемое меню.
void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
} Параметр event используется для получения координат курсора мыши в момент генерации события.
См. также setContextMenuPolicy().
QMenu *QLineEdit::createStandardContextMenu()
Эта функция создаёт стандартное контекстное меню, которое отображается при щелчке правой кнопкой мыши по строке редактирования. Она вызывается обработчиком событий по умолчанию contextMenuEvent(). Владение созданным меню передаётся вызывающей стороне.
void QLineEdit::cursorBackward(bool mark, int steps = 1)
Перемещает курсор назад на steps символов. Если mark имеет значение true, каждый пройденный символ добавляется к выделению; если mark имеет значение false, выделение очищается.
См. также cursorForward().
void QLineEdit::cursorForward(bool mark, int steps = 1)
Перемещает курсор вперёд на steps символов. Если mark имеет значение true, каждый пройденный символ добавляется к выделению; если mark имеет значение false, выделение очищается.
См. также cursorBackward().
int QLineEdit::cursorPositionAt(const QPoint &pos)
Возвращает позицию курсора под точкой pos.
[protected] QRect QLineEdit::cursorRect() const
Возвращает прямоугольник, включающий курсор строки редактирования.
void QLineEdit::cursorWordBackward(bool mark)
Перемещает курсор на одно слово назад. Если mark имеет значение true, слово также выбирается.
См. также cursorWordForward().
void QLineEdit::cursorWordForward(bool mark)
Перемещает курсор на одно слово вперёд. Если mark имеет значение true, слово также выбирается.
См. также cursorWordBackward().
void QLineEdit::del()
Если текст не выделен, удаляет символ справа от курсора. Если текст выделен, курсор перемещается к началу выделенного текста и выделенный текст удаляется.
См. также backspace().
void QLineEdit::deselect()
Отменяет выделение текста.
См. также setSelection() и selectAll().
[override virtual protected] void QLineEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределяет: QWidget::dragEnterEvent(QDragEnterEvent *event).
[override virtual protected] void QLineEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределяет: QWidget::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QLineEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределяет: QWidget::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QLineEdit::dropEvent(QDropEvent *e)
Переопределяет: QWidget::dropEvent(QDropEvent *event).
void QLineEdit::end(bool mark)
Перемещает курсор в конец строки, если он не находится там. Если mark имеет значение true, текст выбирается до последней позиции; в противном случае, любое выделение отменяется, если курсор перемещён.
См. также home().
[override virtual] bool QLineEdit::event(QEvent *e)
Переопределяет: QWidget::event(QEvent *event).
[override virtual protected] void QLineEdit::focusInEvent(QFocusEvent *e)
Переопределяет: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] void QLineEdit::focusOutEvent(QFocusEvent *e)
Переопределяет: QWidget::focusOutEvent(QFocusEvent *event).
void QLineEdit::home(bool mark)
Перемещает курсор в начало строки, если он не находится там. Если mark имеет значение true, текст выбирается до первой позиции; в противном случае, любое выделение отменяется, если курсор перемещён.
См. также end().
[virtual protected] void QLineEdit::initStyleOption(QStyleOptionFrame *option) const
Инициализирует option значениями из этого QLineEdit. Этот метод полезен для подклассов, когда им нужен QStyleOptionFrame, но они не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual protected] void QLineEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределяет: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределяет: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
void QLineEdit::insert(const QString &newText)
Удаляет любое выделенное содержимое, вставляет newText и проверяет результат. Если результат корректен, устанавливает его в качестве нового содержимого строки редактирования.
См. также setText() и clear().
[override virtual protected] void QLineEdit::keyPressEvent(QKeyEvent *event)
Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).
Преобразует переданное событие нажатия клавиши event в действие строки редактирования.
При нажатии клавиш Enter или Return, если текущий текст корректен (или может быть сделан корректным с помощью валидатора), сигнал returnPressed() генерируется.
Стандартные сочетания клавиш перечислены в подробном описании класса.
[override virtual protected] void QLineEdit::keyReleaseEvent(QKeyEvent *)
Переопределяет: QWidget::keyReleaseEvent(QKeyEvent *event).
[override virtual] QSize QLineEdit::minimumSizeHint() const
Переопределяет функцию доступа к свойству: QWidget::minimumSizeHint.
Возвращает минимальный размер для строки редактирования.
Возвращаемая ширина обычно достаточна для хотя бы одного символа.
[override virtual protected] void QLineEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределяет: QWidget::mouseDoubleClickEvent(QMouseEvent *event).
[override virtual protected] void QLineEdit::mouseMoveEvent(QMouseEvent *e)
Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QLineEdit::mousePressEvent(QMouseEvent *e)
Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QLineEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QLineEdit::paintEvent(QPaintEvent *)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
[since 5.10] int QLineEdit::selectionEnd() const
Возвращает индекс символа, следующего непосредственно за выделенным фрагментом в поле редактирования, или -1, если текст не выделен.
Эта функция была добавлена в Qt 5.10.
См. также selectedText(), selectionStart(), и selectionLength().
[since 5.10] int QLineEdit::selectionLength() const
Возвращает длину выделенного фрагмента.
Эта функция была добавлена в Qt 5.10.
См. также selectedText(), selectionStart(), и selectionEnd().
int QLineEdit::selectionStart() const
Возвращает индекс первого выделенного символа в поле редактирования или -1, если текст не выделен.
См. также selectedText(), selectionEnd(), и selectionLength().
void QLineEdit::setCompleter(QCompleter *c)
Устанавливает для данного поля редактирования функцию автозаполнения из списка предложений, предоставляемого c. Режим автозаполнения задаётся с помощью QCompleter::setCompletionMode().
Для использования QCompleter с QValidator или QLineEdit::inputMask, необходимо убедиться, что модель, предоставленная QCompleter, содержит только корректные элементы. Можно использовать QSortFilterProxyModel, чтобы гарантировать, что модель QCompleter содержит только допустимые элементы.
Если c == 0, setCompleter() удаляет текущий completer, фактически отключая автозаполнение.
См. также completer() и QCompleter.
void QLineEdit::setSelection(int start, int length)
Выделяет текст, начиная с позиции start и длиной length символов. Разрешены отрицательные значения length.
См. также deselect(), selectAll(), и selectedText().
void QLineEdit::setTextMargins(int left, int top, int right, int bottom)
Устанавливает отступы вокруг текста внутри рамки с размерами left, top, right и bottom.
См. также textMargins().
См. также textMargins().
void QLineEdit::setTextMargins(const QMargins &margins)
Устанавливает отступы margins вокруг текста внутри рамки.
См. также textMargins().
void QLineEdit::setValidator(const QValidator *v)
Устанавливает валидатор для значений поля редактирования на v.
Сигналы returnPressed() и editingFinished() поля редактирования будут сгенерированы только в том случае, если v валидирует содержимое поля редактирования как Acceptable. Пользователь может изменять содержимое на любое Intermediate значение во время редактирования, но не сможет изменить текст на значение, которое v валидирует как Invalid.
Это позволяет ограничить текст, который будет введён в итоге при завершении редактирования, оставляя при этом пользователю достаточно свободы для редактирования текста от одного допустимого состояния к другому.
Если v == 0, setValidator() удаляет текущий валидатор ввода. Начальное значение — отсутствие валидатора (т.е. любой ввод принимается до maxLength()).
См. также validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator, и QRegularExpressionValidator.
[override virtual] QSize QLineEdit::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
Возвращает рекомендуемый размер виджета.
Возвращаемая ширина в пикселях обычно достаточно для около 15-20 символов.
QMargins QLineEdit::textMargins() const
Возвращает отступы текста виджета.
См. также setTextMargins().
[override virtual] void QLineEdit::timerEvent(QTimerEvent *e)
Переопределяет: QObject::timerEvent(QTimerEvent *event).
const QValidator *QLineEdit::validator() const
Возвращает указатель на текущий валидатор ввода или nullptr если валидатор не был установлен.
См. также setValidator().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qlineedit.html