Класс QLineEdit
Виджет QLineEdit — это однострочный редактор текста. Подробнее...
| Заголовок: | #include <QLineEdit> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследуется от: | QWidget |
Типы public
| Перечисление | 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, Справочник по проектированию пользовательского интерфейса: Поля, поля ввода и Пример полей ввода.
Документация по типам элементов
[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()
Этот сигнал испускается при нажатии клавиш Return или Enter или при потере фокуса полем редактирования, если его содержимое изменилось с момента последнего испускания этого сигнала.
Обратите внимание, что если для поля редактирования задан валидатор validator() или маска ввода inputMask(), сигнал editingFinished() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.
[signal, since 5.12] void QLineEdit::inputRejected()
Этот сигнал испускается, когда пользователь нажимает клавишу, которая не считается допустимым вводом. Например, если нажатие клавиши приводит к вызову validate() валидатора с возвращаемым значением Invalid. Ещё один случай — попытка ввода большего количества символов, чем максимальное количество символов в поле редактирования.
Примечание: этот сигнал по-прежнему будет испущен в случае, когда часть текста принята, но не вся. Например, если установлена максимальная длина, а текст из буфера обмена длиннее максимальной длины при вставке.
Функция была добавлена в Qt 5.12.
[slot] void QLineEdit::paste()
Вставляет текст из буфера обмена в позицию курсора, удаляя выделенный текст, если поле редактирования не является только для чтения.
Если результат ввода будет недопустим для текущего валидатора validator, ничего не произойдёт.
[slot] void QLineEdit::redo()
Повторяет последнее действие, если оно доступно для повтора redo.
[signal] void QLineEdit::returnPressed()
Этот сигнал испускается при нажатии клавиш Return или 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().
Примечание: Сигнал-уведомление для свойства 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.1/qlineedit.html