Класс 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
Это свойство содержит выравнивание элемента line edit.
Здесь допускается как горизонтальное, так и вертикальное выравнивание; Qt::AlignJustify будет сопоставлен с Qt::AlignLeft.
По умолчанию это свойство содержит комбинацию Qt::AlignLeft и Qt::AlignVCenter.
Функции доступа:
| Qt::Alignment | alignment() const |
| void | setAlignment(Qt::Alignment flag) |
См. также Qt::Alignment.
clearButtonEnabled : bool
Это свойство определяет, отображает ли элемент line edit кнопку очистки, когда он не пуст.
Если включено, элемент line edit отображает конечную кнопку очистки, когда он содержит текст; в противном случае элемент line edit не показывает кнопку очистки (по умолчанию).
Это свойство было введено в Qt 5.2.
Функции доступа:
| bool | isClearButtonEnabled() const |
| void | setClearButtonEnabled(bool enable) |
См. также addAction() и removeAction().
cursorMoveStyle : Qt::CursorMoveStyle
Это свойство содержит стиль перемещения курсора в этом элементе line edit.
Когда это свойство установлено в Qt::VisualMoveStyle, элемент line edit будет использовать стиль визуального перемещения. Нажатие клавиши со стрелкой влево всегда будет приводить к перемещению курсора влево, независимо от направления написания текста. То же поведение относится к клавише со стрелкой вправо.
Когда свойство равно Qt::LogicalMoveStyle (по умолчанию), в блоке текста слева направо увеличение позиции курсора при нажатии клавиши со стрелкой влево, уменьшение позиции курсора при нажатии клавиши со стрелкой вправо. Если блок текста справа налево, применяется противоположное поведение.
Это свойство было введено в Qt 4.8.
Функции доступа:
| Qt::CursorMoveStyle | cursorMoveStyle() const |
| void | setCursorMoveStyle(Qt::CursorMoveStyle style) |
cursorPosition : int
Это свойство содержит текущую позицию курсора для этого элемента line edit.
Установка позиции курсора вызывает перерисовку, когда это необходимо.
По умолчанию это свойство содержит значение 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
Это свойство определяет, запускает ли lineedit перетаскивание, если пользователь нажимает и перемещает мышь по некоторому выделенному тексту.
Перетаскивание отключено по умолчанию.
Функции доступа:
| bool | dragEnabled() const |
| void | setDragEnabled(bool b) |
echoMode : EchoMode
Это свойство содержит режим отображения элемента line edit.
Режим отображения определяет, как текст, введенный в элементе line edit, отображается (или отображается эхом) пользователю.
Наиболее распространенной настройкой является Normal, в которой введенный пользователем текст отображается дословно, но QLineEdit также поддерживает режимы, которые позволяют подавлять или скрывать введенный текст: они включают NoEcho, Password и PasswordEchoOnEdit.
Отображение виджета и возможность копировать или перетаскивать текст зависят от этой настройки.
По умолчанию это свойство установлено в Normal.
Функции доступа:
| QLineEdit::EchoMode | echoMode() const |
| void | setEchoMode(QLineEdit::EchoMode) |
См. также EchoMode и displayText().
frame : bool
Это свойство определяет, рисует ли элемент line edit себя с рамкой.
Если включено (по умолчанию), элемент line edit рисует себя внутри рамки; в противном случае элемент line edit рисует себя без рамки.
Функции доступа:
| 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 &) |
Сигнал нотификации:
| 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()
Этот сигнал испускается, когда нажата клавиша ВВОД или поле ввода теряет фокус. Обратите внимание, что если установлены validator() или inputMask() и нажата клавиша ВВОД, сигнал editingFinished() будет испущен только в том случае, если ввод соответствует inputMask() и validator() возвращает QValidator::Acceptable.
[signal] void QLineEdit::inputRejected()
Этот сигнал испускается, когда пользователь нажимает клавишу, которая не считается допустимым вводом. Например, если нажатие клавиши приводит к тому, что вызов validate() валидатора возвращает Invalid. Ещё один случай — при попытке ввести больше символов, чем максимальная длина поля ввода.
Примечание: Этот сигнал всё равно будет испущен в случае, когда часть текста принята, но не вся. Например, если установлена максимальная длина, и текст из буфера обмена длиннее максимальной длины при вставке.
Функция была добавлена в Qt 5.12.
[slot] void QLineEdit::paste()
Вставляет текст из буфера обмена в позицию курсора, удаляя любой выделенный текст, если поле ввода не является только для чтения.
Если результат не будет соответствовать текущему validator, ничего не происходит.
[slot] void QLineEdit::redo()
Повторяет последнее действие, если повторение доступно.
[signal] void QLineEdit::returnPressed()
Этот сигнал испускается при нажатии клавиши ВВОД. Обратите внимание, что если установлены validator() или inputMask(), сигнал returnPressed() будет испущен только в том случае, если ввод соответствует inputMask() и validator() возвращает 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()
Удаляет поле ввода.
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. Это позволяет ограничить вводимый текст.
Если 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.14/qlineedit.html