Spec-Zone.ru › Qt 6.0

Класс QLineEdit

Виджет QLineEdit — это однострочный текстовый редактор. Подробнее...

Заголовок: #include <QLineEdit>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Наследует: QWidget
  • Список всех членов, включая унаследованные

Общедоступные типы

Перечисление ActionPosition { LeadingPosition, TrailingPosition }
Перечисление EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit }

Свойства

  • acceptableInput : const bool
  • alignment : Qt::Alignment
  • clearButtonEnabled : bool
  • cursorMoveStyle : Qt::CursorMoveStyle
  • cursorPosition : int
  • displayText : const QString
  • dragEnabled : bool
  • echoMode : EchoMode
  • frame : bool
  • hasSelectedText : const bool
  • inputMask : QString
  • maxLength : int
  • modified : bool
  • placeholderText : QString
  • readOnly : bool
  • redoAvailable : const bool
  • selectedText : const QString
  • text : QString
  • undoAvailable : const bool

Общедоступные функции

QLineEdit(const QString &contents, QWidget *parent = nullptr)
QLineEdit(QWidget *parent = nullptr)
virtual ~QLineEdit()
void addAction(QAction *action, QLineEdit::ActionPosition position)
QAction * addAction(const QIcon &icon, QLineEdit::ActionPosition position)
Qt::Alignment alignment() const
void backspace()
QCompleter * completer() const
QMenu * createStandardContextMenu()
void cursorBackward(bool mark, int steps = 1)
void cursorForward(bool mark, int steps = 1)
Qt::CursorMoveStyle cursorMoveStyle() const
int cursorPosition() const
int cursorPositionAt(const QPoint &pos)
void cursorWordBackward(bool mark)
void cursorWordForward(bool mark)
void del()
void deselect()
QString displayText() const
bool dragEnabled() const
QLineEdit::EchoMode echoMode() const
void end(bool mark)
bool hasAcceptableInput() const
bool hasFrame() const
bool hasSelectedText() const
void home(bool mark)
QString inputMask() const
void insert(const QString &newText)
bool isClearButtonEnabled() const
bool isModified() const
bool isReadOnly() const
bool isRedoAvailable() const
bool isUndoAvailable() const
int maxLength() const
QString placeholderText() const
QString selectedText() const
int selectionEnd() const
int selectionLength() const
int selectionStart() const
void setAlignment(Qt::Alignment flag)
void setClearButtonEnabled(bool enable)
void setCompleter(QCompleter *c)
void setCursorMoveStyle(Qt::CursorMoveStyle style)
void setCursorPosition(int)
void setDragEnabled(bool b)
void setEchoMode(QLineEdit::EchoMode)
void setFrame(bool)
void setInputMask(const QString &inputMask)
void setMaxLength(int)
void setModified(bool)
void setPlaceholderText(const QString &)
void setReadOnly(bool)
void setSelection(int start, int length)
void setTextMargins(int left, int top, int right, int bottom)
void setTextMargins(const QMargins &margins)
void setValidator(const QValidator *v)
QString text() const
QMargins textMargins() const
const QValidator * validator() const

Реализованные публичные функции

виртуальный bool event(QEvent *e) override
виртуальный QVariant inputMethodQuery(Qt::InputMethodQuery property) const override
виртуальный QSize minimumSizeHint() const override
виртуальный QSize sizeHint() const override
виртуальный void timerEvent(QTimerEvent *e) override

Public Slots

void clear()
void copy() const
void cut()
void paste()
void redo()
void selectAll()
void setText(const QString &)
void undo()

Signals

void cursorPositionChanged(int oldPos, int newPos)
void editingFinished()
void inputRejected()
void returnPressed()
void selectionChanged()
void textChanged(const QString &text)
void textEdited(const QString &text)

Protected Functions

QRect cursorRect() const
виртуальный void initStyleOption(QStyleOptionFrame *option) const

Reimplemented Protected Functions

виртуальный void changeEvent(QEvent *ev) override
виртуальный void contextMenuEvent(QContextMenuEvent *event) override
виртуальный void dragEnterEvent(QDragEnterEvent *e) override
виртуальный void dragLeaveEvent(QDragLeaveEvent *e) override
виртуальный void dragMoveEvent(QDragMoveEvent *e) override
виртуальный void dropEvent(QDropEvent *e) override
виртуальный void focusInEvent(QFocusEvent *e) override
виртуальный void focusOutEvent(QFocusEvent *e) override
виртуальный void inputMethodEvent(QInputMethodEvent *e) override
виртуальный void keyPressEvent(QKeyEvent *event) override
виртуальный void keyReleaseEvent(QKeyEvent *) override
виртуальный void mouseDoubleClickEvent(QMouseEvent *e) override
виртуальный void mouseMoveEvent(QMouseEvent *e) override
виртуальный void mousePressEvent(QMouseEvent *e) override
виртуальный void mouseReleaseEvent(QMouseEvent *e) override
виртуальный void paintEvent(QPaintEvent *) override

Detailed Description

Поле ввода строки позволяет пользователю вводить и редактировать одну строку простого текста с полезным набором функций редактирования, включая отмену и повторение, вырезание и вставку, а также перетаскивание (см. setDragEnabled()).

Изменяя echoMode() поля ввода строки, его также можно использовать в качестве поля «только для записи», например, для ввода паролей.

Длина текста может быть ограничена maxLength(). Текст может быть произвольно ограничен с помощью validator() или inputMask(), или обоих. При переключении между валидатором и маской ввода в одном поле ввода строки лучше всего очистить валидатор или маску ввода, чтобы избежать неопределенного поведения.

Связанный класс — QTextEdit, который позволяет редактировать текст с несколькими строками и форматированием.

Вы можете изменить текст с помощью setText() или insert(). Текст извлекается с помощью text(); отображаемый текст (который может отличаться, см. EchoMode) извлекается с помощью displayText(). Вы можете выбрать текст с помощью setSelection() или selectAll(), а выделенный текст можно вырезать, скопировать и вставить. Текст можно выровнять с помощью setAlignment().

При изменении текста генерируется сигнал textChanged; при изменении текста, отличном от вызова setText(), генерируется сигнал textEdited; при перемещении курсора генерируется сигнал cursorPositionChanged; а при нажатии клавиш ВВОД или ENTER генерируется сигнал returnPressed.

При завершении редактирования, либо из-за потери фокуса полем ввода, либо при нажатии клавиш ВВОД/ENTER, генерируется сигнал editingFinished.

Обратите внимание, что если для поля ввода установлен валидатор, сигналы returnPressed()/editingFinished() будут сгенерированы только в том случае, если валидатор вернет QValidator::Acceptable.

По умолчанию QLineEdits имеют рамку, как указано в руководствах по стилю платформы; вы можете отключить её, вызвав setFrame(false).

Стандартные сочетания клавиш описаны ниже. Поле ввода также предоставляет контекстное меню (обычно вызываемое щелчком правой кнопкой мыши), которое предоставляет некоторые из этих опций редактирования.

END_OF_DOCUMENT_MARKER
Клавиша Действие
Стрелка влево Перемещает курсор на один символ влево.
Shift+Стрелка влево Перемещает и выделяет текст на один символ влево.
Стрелка вправо Перемещает курсор на один символ вправо.
Shift+Стрелка вправо Перемещает и выделяет текст на один символ вправо.
Home Перемещает курсор к началу строки.
End Перемещает курсор к концу строки.
Backspace Удаляет символ слева от курсора.
Ctrl+Backspace Удаляет слово слева от курсора.
Delete Удаляет символ справа от курсора.
Ctrl+Delete Удаляет слово справа от курсора.
Ctrl+A Выделить все.
Ctrl+C Копирует выделенный текст в буфер обмена.
Ctrl+Insert Копирует выделенный текст в буфер обмена.
Ctrl+K Удаляет до конца строки.
Ctrl+V Вставляет текст из буфера обмена в строку редактирования.
Shift+Insert Вставляет текст из буфера обмена в строку редактирования.
Ctrl+X Удаляет выделенный текст и копирует его в буфер обмена.
Shift+Delete Удаляет выделенный текст и копирует его в буфер обмена.
Ctrl+Z Отменить последнюю операцию.
Ctrl+Y Повторить последнюю отменённую операцию.

Любая другая последовательность клавиш, представляющая допустимый символ, вставит этот символ в строку редактирования.

См. также QTextEdit, QLabel, QComboBox, Справочник по разработке графического интерфейса: Поля, Ввод, и Пример использования Line Edits.

Документация типов элементов

[since 5.2] перечисление QLineEdit::ActionPosition

Это перечисление описывает, как виджеты действий должны отображаться в строке редактирования.

Константа Значение Описание
QLineEdit::LeadingPosition 0 Виджет отображается слева от текста при использовании направления компоновки Qt::LeftToRight или справа при использовании Qt::RightToLeft, соответственно.
QLineEdit::TrailingPosition 1 Виджет отображается справа от текста при использовании направления компоновки Qt::LeftToRight или слева при использовании Qt::RightToLeft, соответственно.

Это перечисление было введено или изменено в Qt 5.2.

См. также addAction(), removeAction(), и QWidget::layoutDirection.

перечисление QLineEdit::EchoMode

Это перечисление описывает, как строка редактирования должна отображать свое содержимое.

Константа Значение Описание
QLineEdit::Normal 0 Отображает символы по мере ввода. Это значение по умолчанию.
QLineEdit::NoEcho 1 Ничего не отображает. Это может быть подходящим для паролей, где даже длина пароля должна оставаться в секрете.
QLineEdit::Password 2 Отображает символы маски пароля, зависящие от платформы, вместо фактически вводимых символов.
QLineEdit::PasswordEchoOnEdit 3 Отображает символы по мере ввода во время редактирования, в противном случае отображает символы как и в Password.

См. также setEchoMode() и echoMode().

Документация свойств

[read-only] acceptableInput : const bool

Это свойство содержит значение, указывающее, соответствует ли ввод маске inputMask и валидатору.

По умолчанию это свойство равно true.

Функции доступа:

bool hasAcceptableInput() const

См. также setInputMask() и setValidator().

alignment : Qt::Alignment

Это свойство содержит выравнивание поля ввода.

Разрешено как горизонтальное, так и вертикальное выравнивание. Qt::AlignJustify будет отображаться как Qt::AlignLeft.

По умолчанию это свойство содержит комбинацию Qt::AlignLeft и Qt::AlignVCenter.

Функции доступа:

Qt::Alignment alignment() const
void setAlignment(Qt::Alignment flag)

См. также Qt::Alignment.

[since 5.2] clearButtonEnabled : bool

Это свойство указывает, отображается ли кнопка очистки в поле ввода, когда оно не пустое.

Если включено, поле ввода отображает кнопку очистки в конце, когда оно содержит текст, в противном случае кнопка не отображается (по умолчанию).

Это свойство было добавлено в Qt 5.2.

Функции доступа:

bool isClearButtonEnabled() const
void setClearButtonEnabled(bool enable)

См. также addAction() и removeAction().

cursorMoveStyle : Qt::CursorMoveStyle

Это свойство определяет стиль перемещения курсора в данном поле ввода.

Когда это свойство установлено в Qt::VisualMoveStyle, поле ввода использует визуальный стиль перемещения. Нажатие клавиши влево всегда перемещает курсор влево, независимо от направления текста. То же самое относится к клавише вправо.

Когда свойство установлено в Qt::LogicalMoveStyle (по умолчанию), в блоке текста слева направо увеличение позиции курсора происходит при нажатии клавиши влево, уменьшение при нажатии клавиши вправо. Если блок текста справа налево, поведение обратное.

Функции доступа:

Qt::CursorMoveStyle cursorMoveStyle() const
void setCursorMoveStyle(Qt::CursorMoveStyle style)

cursorPosition : int

Это свойство содержит текущую позицию курсора в этом поле ввода.

Установка позиции курсора приводит к перерисовке при необходимости.

По умолчанию это свойство имеет значение 0.

Функции доступа:

int cursorPosition() const
void setCursorPosition(int)

[read-only] displayText : const QString

Это свойство содержит отображаемый текст.

Если echoMode равен Normal, это значение совпадает с text(); если EchoMode равен Password или PasswordEchoOnEdit, возвращается строка с символами маски пароля, зависящими от платформы, размером text().length(), например, "******"; если EchoMode равен NoEcho, возвращается пустая строка "".

По умолчанию это свойство содержит пустую строку.

Функции доступа:

QString displayText() const

См. также setEchoMode(), text() и EchoMode.

dragEnabled : bool

Это свойство указывает, запускается ли перетаскивание, если пользователь нажимает и перемещает мышь на выделенный текст.

Перетаскивание отключено по умолчанию.

Функции доступа:

bool dragEnabled() const
void setDragEnabled(bool b)

echoMode : EchoMode

Это свойство содержит режим отображения текста в поле ввода.

Режим отображения определяет, как вводимый в поле ввода текст отображается пользователю.

Наиболее распространенный режим — Normal, в котором вводимый пользователем текст отображается без изменений, но QLineEdit также поддерживает режимы, позволяющие скрывать или маскировать вводимый текст: это режимы NoEcho, Password и PasswordEchoOnEdit.

Отображение виджета и возможность копирования или перетаскивания текста зависят от этого параметра.

По умолчанию это свойство установлено в Normal.

Функции доступа:

QLineEdit::EchoMode echoMode() const
void setEchoMode(QLineEdit::EchoMode)

См. также EchoMode и displayText().

frame : bool

Это свойство указывает, отображается ли рамка вокруг поля ввода.

Если включено (по умолчанию), поле ввода отображается в рамке, в противном случае без рамки.

Функции доступа:

bool hasFrame() const
void setFrame(bool)

[read-only] hasSelectedText : const bool

Это свойство указывает, выделен ли текст.

hasSelectedText() возвращает true если часть или весь текст выделен пользователем; иначе возвращает false.

По умолчанию это свойство равно false.

Функции доступа:

bool hasSelectedText() const

См. также selectedText().

inputMask : QString

Это свойство содержит маску для проверки вводимых данных.

Если маска не задана, inputMask() возвращает пустую строку.

Устанавливает маску проверки для QLineEdit. Вместо или вместе с маской можно использовать валидаторы; см. setValidator().

Сбросить маску и вернуться к нормальной работе QLineEdit, передав пустую строку ("").

Маска ввода — это шаблон ввода. Он может содержать следующие элементы:

Символы маски Определяет Category допустимых символов ввода в этой позиции
Метасимволы Различные специальные значения
Разделители Все остальные символы считаются неизменяемыми разделителями

В следующей таблице показаны символы маски и метасимволы, которые могут быть использованы в маске ввода.

Символ маски Значение
A требуемый символ категории «Буква», например, A-Z, a-z.
a разрешенный, но не обязательный символ категории «Буква».
N требуемый символ категории «Буква» или «Цифра», например, A-Z, a-z, 0-9.
n разрешенный, но не обязательный символ категории «Буква» или «Цифра».
X требуемый любой символ, отличный от пробела.
x разрешенный, но не обязательный любой символ, отличный от пробела.
9 требуемый символ категории «Цифра», например, 0-9.
0 разрешенный, но не обязательный символ категории «Цифра».
D требуемый символ категории «Цифра», больше нуля, например, 1-9
d разрешенный, но не обязательный символ категории «Цифра», больше нуля, например, 1-9.
# разрешенный, но не обязательный символ категории «Цифра» или знак плюс/минус.
H требуемый шестнадцатеричный символ. A-F, a-f, 0-9.
h разрешенный, но не обязательный шестнадцатеричный символ.
B требуемый двоичный символ. 0-1.
b разрешенный, но не обязательный двоичный символ.
Символ метаданных Значение
> Все последующие символы алфавита преобразуются в верхний регистр.
< Все последующие символы алфавита преобразуются в нижний регистр.
! Отключение преобразования регистра.
;c Завершает маску ввода и устанавливает символ пустоты на c.
[ ] { } Зарезервировано.
\ Используйте \ для экранирования специальных символов, перечисленных выше, чтобы использовать их в качестве разделителей.

При создании или очистке строки редактирования она заполняется копией строки маски ввода, где символы метаданных удалены, а символы маски заменены символом пустоты (по умолчанию, space).

При установке маски ввода метод text() возвращает изменённую копию содержимого строки редактирования, где все символы пустоты удалены. Неизменённое содержимое можно прочитать, используя displayText().

Метод hasAcceptableInput() возвращает false, если текущее содержимое строки редактирования не соответствует требованиям маски ввода.

Примеры:

Маска Примечания
000.000.000.000;_ IP-адрес; пустоты — _.
HH:HH:HH:HH:HH:HH;_ MAC-адрес
0000-00-00 Дата ISO; пустоты — space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# Номер лицензии; пустоты — # и все символы (буквы) преобразуются в верхний регистр.

Для управления диапазоном (например, для IP-адреса) используйте маски вместе с валидаторами.

Функции доступа:

QString inputMask() const
void setInputMask(const QString &inputMask)

См. также maxLength, QChar::isLetter(), QChar::isNumber(), и QChar::digitValue().

maxLength : int

Это свойство определяет максимальную разрешенную длину текста.

Если текст слишком длинный, он обрезается до предела.

При обрезке любой выделенный текст будет снят с выделения, позиция курсора устанавливается в 0, и отображается первая часть строки.

Если в строке редактирования есть маска ввода, маска определяет максимальную длину строки.

По умолчанию это свойство содержит значение 32767.

Функции доступа:

int maxLength() const
void setMaxLength(int)

См. также inputMask.

modified : bool

Это свойство указывает, было ли содержимое строки редактирования изменено пользователем.

Флаг modified никогда не считывается QLineEdit; он имеет значение false по умолчанию и меняется на true всякий раз, когда пользователь изменяет содержимое строки редактирования.

Это полезно для случаев, когда требуется предоставить значение по умолчанию, но неизвестно, каким должно быть это значение (возможно, оно зависит от других полей формы). Начните с строки редактирования без лучшего значения по умолчанию, и когда значение по умолчанию известно, если modified() возвращает false (пользователь не вводил текст), вставьте значение по умолчанию.

Вызов setText() сбрасывает флаг modified на false.

Функции доступа:

bool isModified() const
void setModified(bool)

placeholderText : QString

Это свойство содержит текст-заполнитель строки редактирования.

Установление этого свойства заставляет строку редактирования отображать текст-заполнитель серым цветом, пока строка редактирования пустая.

Обычно пустая строка редактирования отображает текст-заполнитель даже при фокусе. Однако, если содержимое выровнено по горизонтали, текст-заполнитель не отображается под курсором, когда строка редактирования имеет фокус.

По умолчанию это свойство содержит пустую строку.

Функции доступа:

QString placeholderText() const
void setPlaceholderText(const QString &)

См. также text().

readOnly : bool

Это свойство указывает, является ли строка редактирования только для чтения.

В режиме только для чтения пользователь всё ещё может копировать текст в буфер обмена или перетаскивать текст (если echoMode() равен Normal), но не может его редактировать.

QLineEdit не отображает курсор в режиме только для чтения.

По умолчанию это свойство равно false.

Функции доступа:

bool isReadOnly() const
void setReadOnly(bool)

См. также setEnabled().

[read-only] redoAvailable : const bool

Это свойство указывает, доступна ли операция повтора.

Функция повтора становится доступной после того, как пользователь выполнил одну или несколько операций отмены для текста в строке редактирования.

По умолчанию это свойство равно false.

Функции доступа:

bool isRedoAvailable() const

[read-only] selectedText : const QString

Это свойство содержит выделенный текст.

Если выделенный текст отсутствует, значение этого свойства — пустая строка.

По умолчанию это свойство содержит пустую строку.

Функции доступа:

QString selectedText() const

См. также hasSelectedText().

text : QString

Это свойство содержит текст строки редактирования.

Установка этого свойства очищает выделение, очищает историю отмены/повтора, перемещает курсор в конец строки и сбрасывает свойство modified на false. Текст не проверяется при вставке с помощью setText().

Текст обрезается до maxLength() символов.

По умолчанию это свойство содержит пустую строку.

Функции доступа:

QString text() const
void setText(const QString &)

Сигнал уведомления:

void textChanged(const QString &text)

См. также insert() и clear().

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

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

[signal] void QLineEdit::cursorPositionChanged(int oldPos, int newPos)

Этот сигнал испускается при каждом перемещении курсора. Предыдущая позиция задана oldPos, а новая — newPos.

См. также setCursorPosition() и cursorPosition().

[slot] void QLineEdit::cut()

Копирует выделенный текст в буфер обмена и удаляет его, если он есть, и если echoMode() имеет значение Normal.

Если текущий валидатор запрещает удаление выделенного текста, cut() скопирует текст без удаления.

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

[signal] void QLineEdit::editingFinished()

Этот сигнал испускается при нажатии клавиши Ввод или Enter, или если поле ввода теряет фокус, а его содержимое изменилось с момента последнего испускания этого сигнала.

Обратите внимание, что если для поля ввода задан валидатор или маска ввода, сигнал editingFinished() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.

[signal, since 5.12] void QLineEdit::inputRejected()

Этот сигнал испускается, когда пользователь нажимает клавишу, которая не считается допустимым вводом. Например, если нажатие клавиши приводит к тому, что вызов validate() валидатора возвращает Invalid. Другой случай — попытка ввода большего количества символов, чем максимальная длина поля ввода.

Примечание: этот сигнал по-прежнему будет испущен в случае, когда часть текста принята, но не вся. Например, если установлена максимальная длина, а текст из буфера обмена длиннее максимальной длины при его вставке.

Функция была добавлена в Qt 5.12.

[slot] void QLineEdit::paste()

Вставляет текст из буфера обмена в позицию курсора, удаляя выделенный текст, если поле ввода не только для чтения.

Если результат будет недопустим для текущего валидатора, ничего не произойдёт.

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

[slot] void QLineEdit::redo()

Повторяет последнее действие, если повторение доступно.

[signal] void QLineEdit::returnPressed()

Этот сигнал испускается при нажатии клавиши Ввод или Enter. Обратите внимание, что если для поля ввода задан валидатор или маска ввода, сигнал returnPressed() будет испущен только в том случае, если ввод соответствует маске ввода и валидатор возвращает QValidator::Acceptable.

[slot] void QLineEdit::selectAll()

Выделяет весь текст (т.е. выделяет его) и перемещает курсор в конец. Это полезно, когда был вставлен значение по умолчанию, потому что если пользователь введёт данные до нажатия на виджет, выделенный текст будет удалён.

См. также setSelection() и deselect().

[signal] void QLineEdit::selectionChanged()

Этот сигнал испускается при каждом изменении выделения.

См. также hasSelectedText() и selectedText().

[signal] void QLineEdit::textChanged(const QString &text)

Этот сигнал испускается при каждом изменении текста. Аргумент text — новый текст.

В отличие от textEdited(), этот сигнал также испускается при программном изменении текста, например, при вызове setText().

Примечание: Сигнал-уведомление для свойства text.

[signal] void QLineEdit::textEdited(const QString &text)

Этот сигнал испускается при каждом изменении текста. Аргумент text — новый текст.

В отличие от textChanged(), этот сигнал не испускается при программном изменении текста, например, при вызове setText().

[slot] void QLineEdit::undo()

Отменяет последнее действие, если отмена доступна. Снимает выделение, если оно было, и обновляет начальную позицию выделения до текущей позиции курсора.

[virtual] QLineEdit::~QLineEdit()

Уничтожает поле ввода.

[since 5.2] void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)

Добавляет action в список действий в позиции position.

Функция была добавлена в Qt 5.2.

[since 5.2] QAction *QLineEdit::addAction(const QIcon &icon, QLineEdit::ActionPosition position)

Это перегруженная функция.

Создаёт новое действие с заданным icon в позиции position.

Функция была добавлена в Qt 5.2.

void QLineEdit::backspace()

Если текст не выделен, удаляет символ слева от курсора и перемещает курсор на одну позицию влево. Если текст выделен, курсор перемещается в начало выделенного текста, и выделенный текст удаляется.

См. также del().

[override virtual protected] void QLineEdit::changeEvent(QEvent *ev)

Переопределяет: QWidget::changeEvent(QEvent *event).

QCompleter *QLineEdit::completer() const

Возвращает текущий QCompleter, который предоставляет автодополнение.

См. также setCompleter().

[override virtual protected] void QLineEdit::contextMenuEvent(QContextMenuEvent *event)

Переопределяет: QWidget::contextMenuEvent(QContextMenuEvent *event).

Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().

Если вы не хотите, чтобы в строке редактирования отображалось контекстное меню, вы можете установить свойство contextMenuPolicy в значение Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращаемое меню.

void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

Параметр event используется для получения координат курсора мыши в момент генерации события.

См. также setContextMenuPolicy().

QMenu *QLineEdit::createStandardContextMenu()

Эта функция создаёт стандартное контекстное меню, которое отображается при щелчке правой кнопкой мыши по строке редактирования. Она вызывается обработчиком событий по умолчанию contextMenuEvent(). Владение созданным меню передаётся вызывающей стороне.

void QLineEdit::cursorBackward(bool mark, int steps = 1)

Перемещает курсор назад на steps символов. Если mark имеет значение true, каждый пройденный символ добавляется к выделению; если mark имеет значение false, выделение очищается.

См. также cursorForward().

void QLineEdit::cursorForward(bool mark, int steps = 1)

Перемещает курсор вперёд на steps символов. Если mark имеет значение true, каждый пройденный символ добавляется к выделению; если mark имеет значение false, выделение очищается.

См. также cursorBackward().

int QLineEdit::cursorPositionAt(const QPoint &pos)

Возвращает позицию курсора под точкой pos.

[protected] QRect QLineEdit::cursorRect() const

Возвращает прямоугольник, включающий курсор строки редактирования.

void QLineEdit::cursorWordBackward(bool mark)

Перемещает курсор на одно слово назад. Если mark имеет значение true, слово также выбирается.

См. также cursorWordForward().

void QLineEdit::cursorWordForward(bool mark)

Перемещает курсор на одно слово вперёд. Если mark имеет значение true, слово также выбирается.

См. также cursorWordBackward().

void QLineEdit::del()

Если текст не выделен, удаляет символ справа от курсора. Если текст выделен, курсор перемещается к началу выделенного текста и выделенный текст удаляется.

См. также backspace().

void QLineEdit::deselect()

Отменяет выделение текста.

См. также setSelection() и selectAll().

[override virtual protected] void QLineEdit::dragEnterEvent(QDragEnterEvent *e)

Переопределяет: QWidget::dragEnterEvent(QDragEnterEvent *event).

[override virtual protected] void QLineEdit::dragLeaveEvent(QDragLeaveEvent *e)

Переопределяет: QWidget::dragLeaveEvent(QDragLeaveEvent *event).

[override virtual protected] void QLineEdit::dragMoveEvent(QDragMoveEvent *e)

Переопределяет: QWidget::dragMoveEvent(QDragMoveEvent *event).

[override virtual protected] void QLineEdit::dropEvent(QDropEvent *e)

Переопределяет: QWidget::dropEvent(QDropEvent *event).

void QLineEdit::end(bool mark)

Перемещает курсор в конец строки, если он не находится там. Если mark имеет значение true, текст выбирается до последней позиции; в противном случае, любое выделение отменяется, если курсор перемещён.

См. также home().

[override virtual] bool QLineEdit::event(QEvent *e)

Переопределяет: QWidget::event(QEvent *event).

[override virtual protected] void QLineEdit::focusInEvent(QFocusEvent *e)

Переопределяет: QWidget::focusInEvent(QFocusEvent *event).

[override virtual protected] void QLineEdit::focusOutEvent(QFocusEvent *e)

Переопределяет: QWidget::focusOutEvent(QFocusEvent *event).

void QLineEdit::home(bool mark)

Перемещает курсор в начало строки, если он не находится там. Если mark имеет значение true, текст выбирается до первой позиции; в противном случае, любое выделение отменяется, если курсор перемещён.

См. также end().

[virtual protected] void QLineEdit::initStyleOption(QStyleOptionFrame *option) const

Инициализирует option значениями из этого QLineEdit. Этот метод полезен для подклассов, когда им нужен QStyleOptionFrame, но они не хотят заполнять всю информацию сами.

См. также QStyleOption::initFrom().

[override virtual protected] void QLineEdit::inputMethodEvent(QInputMethodEvent *e)

Переопределяет: QWidget::inputMethodEvent(QInputMethodEvent *event).

[override virtual] QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const

Переопределяет: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

void QLineEdit::insert(const QString &newText)

Удаляет любое выделенное содержимое, вставляет newText и проверяет результат. Если результат корректен, устанавливает его в качестве нового содержимого строки редактирования.

См. также setText() и clear().

[override virtual protected] void QLineEdit::keyPressEvent(QKeyEvent *event)

Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).

Преобразует переданное событие нажатия клавиши event в действие строки редактирования.

При нажатии клавиш Enter или Return, если текущий текст корректен (или может быть сделан корректным с помощью валидатора), сигнал returnPressed() генерируется.

Стандартные сочетания клавиш перечислены в подробном описании класса.

[override virtual protected] void QLineEdit::keyReleaseEvent(QKeyEvent *)

Переопределяет: QWidget::keyReleaseEvent(QKeyEvent *event).

[override virtual] QSize QLineEdit::minimumSizeHint() const

Переопределяет функцию доступа к свойству: QWidget::minimumSizeHint.

Возвращает минимальный размер для строки редактирования.

Возвращаемая ширина обычно достаточна для хотя бы одного символа.

[override virtual protected] void QLineEdit::mouseDoubleClickEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseDoubleClickEvent(QMouseEvent *event).

[override virtual protected] void QLineEdit::mouseMoveEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QLineEdit::mousePressEvent(QMouseEvent *e)

Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QLineEdit::mouseReleaseEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).

[override virtual protected] void QLineEdit::paintEvent(QPaintEvent *)

Переопределяет: QWidget::paintEvent(QPaintEvent *event).

[since 5.10] int QLineEdit::selectionEnd() const

Возвращает индекс символа, следующего непосредственно за выделенным фрагментом в поле редактирования, или -1, если текст не выделен.

Эта функция была добавлена в Qt 5.10.

См. также selectedText(), selectionStart(), и selectionLength().

[since 5.10] int QLineEdit::selectionLength() const

Возвращает длину выделенного фрагмента.

Эта функция была добавлена в Qt 5.10.

См. также selectedText(), selectionStart(), и selectionEnd().

int QLineEdit::selectionStart() const

Возвращает индекс первого выделенного символа в поле редактирования или -1, если текст не выделен.

См. также selectedText(), selectionEnd(), и selectionLength().

void QLineEdit::setCompleter(QCompleter *c)

Устанавливает для данного поля редактирования функцию автозаполнения из списка предложений, предоставляемого c. Режим автозаполнения задаётся с помощью QCompleter::setCompletionMode().

Для использования QCompleter с QValidator или QLineEdit::inputMask, необходимо убедиться, что модель, предоставленная QCompleter, содержит только корректные элементы. Можно использовать QSortFilterProxyModel, чтобы гарантировать, что модель QCompleter содержит только допустимые элементы.

Если c == 0, setCompleter() удаляет текущий completer, фактически отключая автозаполнение.

См. также completer() и QCompleter.

void QLineEdit::setSelection(int start, int length)

Выделяет текст, начиная с позиции start и длиной length символов. Разрешены отрицательные значения length.

См. также deselect(), selectAll(), и selectedText().

void QLineEdit::setTextMargins(int left, int top, int right, int bottom)

Устанавливает отступы вокруг текста внутри рамки с размерами left, top, right и bottom.

См. также textMargins().

См. также textMargins().

void QLineEdit::setTextMargins(const QMargins &margins)

Устанавливает отступы margins вокруг текста внутри рамки.

См. также textMargins().

void QLineEdit::setValidator(const QValidator *v)

Устанавливает валидатор для значений поля редактирования на v.

Сигналы returnPressed() и editingFinished() поля редактирования будут сгенерированы только в том случае, если v валидирует содержимое поля редактирования как Acceptable. Пользователь может изменять содержимое на любое Intermediate значение во время редактирования, но не сможет изменить текст на значение, которое v валидирует как Invalid.

Это позволяет ограничить текст, который будет введён в итоге при завершении редактирования, оставляя при этом пользователю достаточно свободы для редактирования текста от одного допустимого состояния к другому.

Если v == 0, setValidator() удаляет текущий валидатор ввода. Начальное значение — отсутствие валидатора (т.е. любой ввод принимается до maxLength()).

См. также validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator, и QRegularExpressionValidator.

[override virtual] QSize QLineEdit::sizeHint() const

Переопределяет функцию доступа к свойству: QWidget::sizeHint.

Возвращает рекомендуемый размер виджета.

Возвращаемая ширина в пикселях обычно достаточно для около 15-20 символов.

QMargins QLineEdit::textMargins() const

Возвращает отступы текста виджета.

См. также setTextMargins().

[override virtual] void QLineEdit::timerEvent(QTimerEvent *e)

Переопределяет: QObject::timerEvent(QTimerEvent *event).

const QValidator *QLineEdit::validator() const

Возвращает указатель на текущий валидатор ввода или nullptr если валидатор не был установлен.

См. также setValidator().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qlineedit.html

Spec-Zone.ru

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