Класс QLineEdit
Виджет QLineEdit — это однострочный текстовый редактор. Подробнее...
| Заголовок: | #include <QLineEdit> |
| 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 * | создатьСтандартноеКонтекстноеМеню() |
| 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 |
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 | 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(), и выделение можно вырезать (cut()), скопировать (copy()), и вставить (paste()). Выравнивание текста можно изменить с помощью setAlignment().
При изменении текста генерируется сигнал textChanged; при изменении текста, отличном от вызова setText(), генерируется сигнал textEdited; при перемещении курсора генерируется сигнал cursorPositionChanged; при нажатии клавиши ВВОД генерируется сигнал 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, Справочник по проектированию пользовательского интерфейса: Поле, Ввод, и Пример полей ввода.
Документация по типам членов
enum QLineEdit::ActionPosition
Этот перечислимый тип описывает, как поле ввода должно отображать виджеты действий, которые нужно добавить.
| Постоянная | Значение | Описание |
|---|---|---|
QLineEdit::LeadingPosition |
0 |
Виджет отображается слева от текста при использовании направления макета Qt::LeftToRight или справа при использовании Qt::RightToLeft, соответственно. |
QLineEdit::TrailingPosition |
1 |
Виджет отображается справа от текста при использовании направления макета Qt::LeftToRight или слева при использовании Qt::RightToLeft, соответственно. |
Этот перечислимый тип был введён или изменён в Qt 5.2.
См. также addAction(), removeAction(), и QWidget::layoutDirection.
enum QLineEdit::EchoMode
Этот перечислимый тип описывает, как поле ввода должно отображать своё содержимое.
| Постоянная | Значение | Описание |
|---|---|---|
QLineEdit::Normal |
0 |
Отображаются символы по мере их ввода. Это значение по умолчанию. |
QLineEdit::NoEcho |
1 |
Ничего не отображается. Это может быть уместно для паролей, где даже длина пароля должна оставаться скрытой. |
QLineEdit::Password |
2 |
Отображаются символы маски пароля, зависящие от платформы, вместо фактически введённых символов. |
QLineEdit::PasswordEchoOnEdit |
3 |
Отображаются символы по мере ввода при редактировании, в противном случае отображаются символы, как с Password. |
См. также setEchoMode() и echoMode().
Документация по свойствам
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.
clearButtonEnabled : bool
Это свойство хранит информацию о том, отображает ли поле ввода кнопку очистки, когда оно не пусто.
Если включено, поле ввода отображает конечную кнопку очистки, когда оно содержит какой-либо текст; в противном случае поле ввода не показывает кнопку очистки (по умолчанию).
Это свойство было добавлено в Qt 5.2.
Функции доступа:
| bool | isClearButtonEnabled() const |
| void | setClearButtonEnabled(bool enable) |
См. также addAction() и removeAction().
cursorMoveStyle : Qt::CursorMoveStyle
Это свойство хранит стиль перемещения курсора в этом поле ввода.
Когда это свойство установлено в Qt::VisualMoveStyle, поле ввода будет использовать визуальный стиль перемещения. Нажатие клавиши со стрелкой влево всегда будет приводить к перемещению курсора влево, независимо от направления написания текста. То же самое относится и к клавише со стрелкой вправо.
Когда свойство равно Qt::LogicalMoveStyle (по умолчанию), в блоке текста слева направо увеличение позиции курсора происходит при нажатии клавиши со стрелкой влево, уменьшение позиции курсора — при нажатии клавиши со стрелкой вправо. Если блок текста направлен справа налево, применяется обратное поведение.
Это свойство было добавлено в Qt 4.8.
Функции доступа:
| Qt::CursorMoveStyle | cursorMoveStyle() const |
| void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
cursorPosition : int
Это свойство хранит текущую позицию курсора для этого поля ввода.
Установка позиции курсора вызывает перерисовку, когда это необходимо.
По умолчанию это свойство содержит значение 0.
Функции доступа:
| int | cursorPosition() const |
| void | setCursorPosition(int) |
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) |
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
Это свойство содержит текст-заполнитель редактируемой строки.
Установка этого свойства заставляет редактируемую строку отображать текст-заполнитель серого цвета, пока она пустая.
Обычно, пустая редактируемая строка отображает текст-заполнитель, даже когда имеет фокус. Однако, если содержимое выровнено по горизонтали по центру, текст-заполнитель не отображается под курсором, когда редактируемая строка имеет фокус.
По умолчанию это свойство содержит пустую строку.
Это свойство было добавлено в Qt 4.7.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &) |
См. также text().
readOnly : bool
Это свойство определяет, является ли редактируемая строка только для чтения.
В режиме только для чтения пользователь всё ещё может скопировать текст в буфер обмена или перетащить текст (если echoMode() — Normal), но не может его редактировать.
Объект QLineEdit не отображает курсор в режиме только для чтения.
По умолчанию это свойство — false.
Функции доступа:
| bool | isReadOnly() const |
| void | setReadOnly(bool) |
См. также setEnabled().
redoAvailable : const bool
Это свойство определяет, доступна ли операция "повторить".
Операция "повторить" становится доступной после того, как пользователь выполнил одну или несколько операций "отменить" над текстом в редактируемой строке.
По умолчанию это свойство — false.
Функции доступа:
| bool | isRedoAvailable() const |
selectedText : const QString
Это свойство содержит выделенный текст.
Если текст не выделен, значение этого свойства — пустая строка.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | selectedText() const |
См. также hasSelectedText().
text : QString
Это свойство содержит текст редактируемой строки.
Установка этого свойства очищает выделение, очищает историю "отменить/повторить", перемещает курсор в конец строки и сбрасывает свойство modified на false. Текст не валидируется при вставке с помощью setText().
Текст обрезается до maxLength().
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | text() const |
| void | setText(const QString &) |
Сигнал Notifier:
| void | textChanged(const QString &text) |
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, или поле редактирования теряет фокус. Обратите внимание, что если установлен валидатор (validator()) или маска ввода (inputMask()), сигнал editingFinished() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.
[signal] void QLineEdit::inputRejected()
Этот сигнал испускается, когда пользователь нажимает клавишу, которая не считается допустимым вводом. Например, если нажатие клавиши приводит к тому, что вызов validate() валидатора возвращает Invalid. Другой случай — когда пользователь пытается ввести больше символов, чем максимальная длина поля редактирования.
Примечание: этот сигнал всё равно будет испущен в случае, если часть текста принята, но не вся. Например, если установлена максимальная длина, и текст из буфера обмена длиннее максимальной длины при вставке.
Эта функция была введена в Qt 5.12.
[slot] void QLineEdit::paste()
Вставляет текст из буфера обмена в позицию курсора, удаляя любой выделенный текст, при условии, что поле редактирования не только для чтения (read-only).
Если результат ввода не будет допустим по текущему валидатору (validator()), ничего не произойдёт.
[slot] void QLineEdit::redo()
Повторяет последнюю операцию, если повторение доступно (available).
[signal] void QLineEdit::returnPressed()
Этот сигнал испускается при нажатии клавиши Ввод или Enter. Обратите внимание, что если установлен валидатор (validator()) или маска ввода (inputMask()), сигнал 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().
Примечание: Сигнал Notifier для свойства text.
[signal] void QLineEdit::textEdited(const QString &text)
Этот сигнал испускается всякий раз, когда текст изменяется. Аргумент text — новый текст.
В отличие от textChanged(), этот сигнал не испускается при программном изменении текста, например, при вызове setText().
[slot] void QLineEdit::undo()
Отменяет последнюю операцию, если отмена доступна (available). Снимает выделение, если оно есть, и обновляет начальную позицию выделения до текущей позиции курсора.
[virtual] QLineEdit::~QLineEdit()
Уничтожает поле редактирования.
void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)
Добавляет action в список действий в позиции position.
Эта функция была введена в Qt 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, который предоставляет завершения.
Эта функция была введена в Qt 4.2.
См. также 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
Возвращает прямоугольник, содержащий курсор редактирования строки.
Эта функция была добавлена в Qt 4.4.
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().
[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, и текущий текст корректный (или может быть сделан корректным валидатором), генерируется сигнал returnPressed().
Стандартные сочетания клавиш перечислены в подробном описании класса.
[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).
int QLineEdit::selectionEnd() const
Возвращает индекс символа непосредственно после выделенного в поле редактирования строки или -1, если текст не выделен.
Эта функция была добавлена в Qt 5.10.
См. также selectedText(), selectionStart() и selectionLength().
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() удаляет текущий дополнитель, фактически отключая автозаполнение.
Данная функция была добавлена в Qt 4.2.
См. также 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().
Данная функция была добавлена в Qt 4.5.
См. также textMargins().
void QLineEdit::setTextMargins(const QMargins &margins)
Устанавливает отступы margins вокруг текста внутри рамки.
См. также textMargins().
Данная функция была добавлена в Qt 4.6.
void QLineEdit::setValidator(const QValidator *v)
Устанавливает валидатор для значений строки редактирования в v.
Сигналы returnPressed() и editingFinished() редактора строки будут выпущены только в том случае, если v валидирует содержимое строки редактирования как Acceptable. Пользователь может изменить содержимое на любое значение Intermediate во время редактирования, но не сможет изменить текст на значение, которое v валидирует как Invalid.
Это позволяет ограничить текст, который в итоге будет введён, когда редактирование завершено, оставляя пользователям достаточную свободу редактировать текст из одного допустимого состояния в другое.
Если v == 0, setValidator() удаляет текущий валидатор ввода. Начальное значение - отсутствие валидатора ввода (то есть любой ввод принимается до maxLength()).
См. также validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator и QRegExpValidator.
QSize QLineEdit::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
Возвращает рекомендуемый размер виджета.
Возвращаемая ширина в пикселях обычно достаточна для примерно 15-20 символов.
QMargins QLineEdit::textMargins() const
Возвращает отступы текста виджета.
Данная функция была добавлена в Qt 4.6.
См. также setTextMargins().
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-5.15/qlineedit.html