En esta página

QLineEdit Class

El widget QLineEdit es un editor de texto de una línea. Más...

Cabecera: #include <QLineEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QWidget

Tipos públicos

enum ActionPosition { LeadingPosition, TrailingPosition }
enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit }

Propiedades

Funciones públicas

QLineEdit(QWidget *parent = nullptr)
QLineEdit(const QString &contents, 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(const QMargins &margins)
void setTextMargins(int left, int top, int right, int bottom)
void setValidator(const QValidator *v)
QString text() const
QMargins textMargins() const
const QValidator *validator() const

Funciones públicas reimplementadas

virtual bool event(QEvent *e) override
virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
virtual void timerEvent(QTimerEvent *e) override

Ranuras públicas

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

Señales

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

Funciones protegidas

QRect cursorRect() const
virtual void initStyleOption(QStyleOptionFrame *option) const

Funciones protegidas reimplementadas

virtual void changeEvent(QEvent *ev) override
virtual void contextMenuEvent(QContextMenuEvent *event) override
virtual void dragEnterEvent(QDragEnterEvent *e) override
virtual void dragLeaveEvent(QDragLeaveEvent *e) override
virtual void dragMoveEvent(QDragMoveEvent *e) override
virtual void dropEvent(QDropEvent *e) override
virtual void focusInEvent(QFocusEvent *e) override
virtual void focusOutEvent(QFocusEvent *e) override
virtual void inputMethodEvent(QInputMethodEvent *e) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mouseDoubleClickEvent(QMouseEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *) override

Descripción detallada

Edición de línea mostrando un saludo de texto

Una edición de línea permite a los usuarios introducir y editar una única línea de texto plano con útiles funciones de edición, incluyendo deshacer y rehacer, cortar y pegar, y arrastrar y soltar.

Cambiando la dirección echoMode() de una edición de línea, también puede utilizarse como campo de sólo escritura para entradas como contraseñas.

QTextEdit es una clase relacionada que permite la edición multilínea de texto enriquecido.

Restringir texto

Utilice maxLength para definir la longitud máxima permitida de un texto. Puede utilizar inputMask y setValidator() para restringir aún más el contenido del texto.

Edición de texto

Puede modificar el texto con setText() o insert(). Utilice text() para recuperar el texto y displayText() para recuperar el texto mostrado (que puede ser diferente, véase EchoMode). Puede seleccionar el texto con setSelection() o selectAll(), y puede cut(), copy() y paste() la selección. Para alinear el texto, utilice setAlignment().

Cuando el texto cambia, se emite la señal textChanged(). Cuando el texto cambia de otra forma que no sea llamando a setText(), se emite la señal textEdited(). Cuando se mueve el cursor, se emite la señal cursorPositionChanged(). Y cuando se selecciona la tecla Return o Enter, se emite la señal returnPressed().

Cuando finaliza la edición de texto, ya sea porque la línea de edición perdió el foco o porque se seleccionó Retorno/Enter, se emite la señal editingFinished().

Si se pierde el foco de edición de línea sin que se haya producido ningún cambio en el texto, no se emitirá la señal editingFinished().

Si hay un validador establecido en la edición de línea, las señales returnPressed()/editingFinished() sólo se emitirán si el validador devuelve QValidator::Acceptable.

Para más información sobre las muchas formas en que se puede utilizar QLineEdit, consulte Ejemplo de edición de líneas, que también proporciona una selección de ejemplos de edición de líneas que muestran los efectos de varias propiedades y validadores en la entrada y salida suministrada por el usuario.

Configuración de un marco

Por defecto, QLineEdits tiene un marco como se especifica en las guías de estilo de la plataforma. Puedes desactivar el marco llamando a setFrame(false).

Atajos de teclado por defecto

La siguiente tabla describe los atajos de teclado por defecto.

Nota: La edición de líneas también proporciona un menú contextual (normalmente invocado por un clic con el botón derecho) que presenta algunas de las opciones de edición enumeradas a continuación.

Pulsación de teclaAcción
Flecha izquierdaMueve el cursor un carácter a la izquierda.
Mayús+Flecha izquierdaMueve y selecciona texto un carácter a la izquierda.
Flecha derechaMueve el cursor un carácter a la derecha.
Mayús+Flecha derechaMueve y selecciona el texto un carácter hacia la derecha.
InicioMueve el cursor al principio de la línea.
FinMueve el cursor al final de la línea.
RetrocesoBorra el carácter situado a la izquierda del cursor.
Ctrl+RetrocesoElimina la palabra situada a la izquierda del cursor.
SuprElimina el carácter situado a la derecha del cursor.
Ctrl+SuprElimina la palabra situada a la derecha del cursor.
Ctrl+ASelecciona todo.
Ctrl+CCopia el texto seleccionado en el portapapeles.
Ctrl+InsertarCopia el texto seleccionado en el portapapeles.
Ctrl+KBorra hasta el final de la línea.
Ctrl+VPega el texto del portapapeles en la línea de edición.
Mayús+InsertarPega el texto del portapapeles en la línea de edición.
Ctrl+XBorra el texto seleccionado y lo copia en el portapapeles.
Mayús+SuprElimina el texto seleccionado y lo copia en el portapapeles.
Ctrl+ZDeshace la última operación.
Ctrl+YRehace la última operación deshecha.

Cualquier otra pulsación que represente un carácter válido, hará que el carácter se inserte en la línea de edición.

Véase también QTextEdit, QLabel, QComboBox, y Ejemplo de edición de línea.

Documentación de tipos de miembros

enum QLineEdit::ActionPosition

Este tipo enum describe cómo una edición de línea debe mostrar los widgets de acción que se van a añadir.

ConstanteValorDescripción
QLineEdit::LeadingPosition0El widget se muestra a la izquierda del texto cuando se utiliza la dirección de diseño Qt::LeftToRight o a la derecha cuando se utiliza Qt::RightToLeft, respectivamente.
QLineEdit::TrailingPosition1El widget se muestra a la derecha del texto cuando se utiliza la dirección de diseño Qt::LeftToRight o a la izquierda cuando se utiliza Qt::RightToLeft, respectivamente.

Véase también addAction(), removeAction() y QWidget::layoutDirection.

enum QLineEdit::EchoMode

Este tipo enum describe cómo una edición de línea debe mostrar su contenido.

ConstanteValorDescripción
QLineEdit::Normal0Muestra los caracteres a medida que se introducen. Este es el valor por defecto.
QLineEdit::NoEcho1No mostrar nada. Esto puede ser apropiado para contraseñas en las que incluso la longitud de la contraseña debe mantenerse en secreto.
QLineEdit::Password2Mostrar caracteres de máscara de contraseña dependientes de la plataforma en lugar de los caracteres realmente introducidos.
QLineEdit::PasswordEchoOnEdit3Mostrar los caracteres sólo mientras se introducen. De lo contrario, muestre los caracteres como en Password.

Véase también setEchoMode() y echoMode().

Documentación de propiedades

[read-only] acceptableInput : bool

Esta propiedad mantiene si la entrada satisface el inputMask y el validador.

Por defecto, esta propiedad es true.

Funciones de acceso:

bool hasAcceptableInput() const

Véase también setInputMask() y setValidator().

alignment : Qt::Alignment

Esta propiedad contiene la alineación de la línea de edición.

Aquí se permite tanto la alineación horizontal como la vertical, Qt::AlignJustify se asignará a Qt::AlignLeft.

Por defecto, esta propiedad contiene una combinación de Qt::AlignLeft y Qt::AlignVCenter.

Funciones de acceso:

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

Véase también Qt::Alignment.

clearButtonEnabled : bool

Esta propiedad determina si la línea de edición muestra un botón de borrar cuando no está vacía.

Si está habilitada, la línea de edición muestra un botón clear cuando contiene algún texto. En caso contrario, la edición de línea no muestra un botón clear (por defecto).

Funciones de acceso:

bool isClearButtonEnabled() const
void setClearButtonEnabled(bool enable)

Véase también addAction() y removeAction().

cursorMoveStyle : Qt::CursorMoveStyle

Esta propiedad contiene el estilo de movimiento del cursor en esta edición de línea.

Cuando esta propiedad está establecida a Qt::VisualMoveStyle, la edición de línea utilizará un estilo de movimiento visual. Usar la tecla de flecha izquierda siempre causará que el cursor se mueva a la izquierda, sin importar la dirección de escritura del texto. El mismo comportamiento se aplica a la flecha derecha.

Cuando la propiedad está establecida en Qt::LogicalMoveStyle (el valor predeterminado), dentro de un bloque de texto de izquierda a derecha (LTR), el uso de la tecla de flecha izquierda aumentará la posición del cursor, mientras que el uso de la tecla de flecha derecha disminuirá la posición del cursor. Si el bloque de texto es de derecha a izquierda (RTL), se aplica el comportamiento opuesto.

Funciones de acceso:

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

cursorPosition : int

Esta propiedad contiene la posición actual del cursor para esta edición de línea.

Establecer la posición del cursor provoca un repintado cuando sea apropiado.

Por defecto, esta propiedad contiene un valor de 0.

Funciones de acceso:

int cursorPosition() const
void setCursorPosition(int)

[read-only] displayText : QString

Esta propiedad contiene el texto mostrado.

Si echoMode es Normal, devuelve lo mismo que text(). Si EchoMode es Password o PasswordEchoOnEdit, devuelve una cadena de caracteres de máscara de contraseña dependiente de la plataforma (por ejemplo, "******"). Si EchoMode es NoEcho, devuelve una cadena vacía.

Por defecto, esta propiedad contiene una cadena vacía.

Funciones de acceso:

QString displayText() const

Véase también setEchoMode(), text() y EchoMode.

dragEnabled : bool

Esta propiedad mantiene si la edición de línea inicia un arrastre si el usuario pulsa y mueve el ratón sobre algún texto seleccionado.

El arrastre está desactivado por defecto.

Funciones de acceso:

bool dragEnabled() const
void setDragEnabled(bool b)

echoMode : EchoMode

Esta propiedad contiene el modo de eco de la edición de línea.

El modo eco determina cómo el texto introducido en la edición de línea se muestra (o se hace eco) al usuario.

La configuración más común es Normal, en la que el texto introducido por el usuario se muestra literalmente. QLineEdit también soporta modos que permiten que el texto introducido sea suprimido u oscurecido: estos incluyen NoEcho, Password y PasswordEchoOnEdit.

La visualización del widget y la posibilidad de copiar o arrastrar el texto se ven afectadas por esta configuración.

Por defecto, esta propiedad está establecida en Normal.

Funciones de acceso:

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

Véase también EchoMode y displayText().

frame : bool

Esta propiedad indica si la edición de línea se dibuja dentro de un marco.

Si está activada (por defecto), la línea de edición se dibuja dentro de un marco. En caso contrario, la línea se dibuja sin marco.

Funciones de acceso:

bool hasFrame() const
void setFrame(bool)

[read-only] hasSelectedText : bool

Esta propiedad indica si hay algún texto seleccionado.

hasSelectedText() devuelve true si parte o todo el texto ha sido seleccionado por el usuario. En caso contrario, devuelve false.

Por defecto, esta propiedad es false.

Funciones de acceso:

bool hasSelectedText() const

Véase también selectedText().

inputMask : QString

Esta propiedad contiene la máscara de entrada de validación.

Establece la máscara de validación de QLineEdit. Se pueden utilizar validadores en lugar de, o junto con máscaras; véase setValidator(). El valor por defecto es una cadena vacía, lo que significa que no se utiliza ninguna máscara de entrada.

Para desactivar la máscara y volver al funcionamiento normal de QLineEdit, pase una cadena vacía.

La máscara de entrada es una cadena de plantilla de entrada. Puede contener los siguientes elementos:

Caracteres de la máscaraDefine la Category de caracteres de entrada que se consideran válidos en esta posición.
MetacaracteresVarios significados especiales (ver detalles más abajo).
SeparadoresTodos los demás caracteres se consideran separadores inmutables.

La siguiente tabla muestra los caracteres máscara y meta que pueden utilizarse en una máscara de entrada.

Máscara CarácterSignificado
ACarácter de la categoría Letra obligatorio, como A-Z, a-z.
aCarácter de la categoría Letra permitido pero no obligatorio.
NCarácter de la categoría Letra o Número requerido, como A-Z, a-z, 0-9.
nCarácter de la categoría Letra o Número permitido pero no obligatorio.
XSe requiere cualquier carácter que no esté en blanco.
xSe permite cualquier carácter que no esté en blanco, pero no es obligatorio.
9Se requiere un carácter de la categoría Número, como 0-9.
0Carácter de la categoría Número permitido pero no obligatorio.
DCarácter de la categoría Número y mayor que cero obligatorio, como 1-9.
dCarácter de la categoría Número y mayor que cero permitido pero no obligatorio, como 1-9.
#Carácter de la categoría Número, o signo más/menos permitido pero no obligatorio.
HSe requiere un carácter hexadecimal. A-F, a-f, 0-9.
hCarácter hexadecimal permitido pero no obligatorio.
BSe requiere carácter binario. 0-1.
bCarácter binario permitido pero no obligatorio.
MetacarácterSignificado
>Todos los caracteres alfabéticos siguientes están en mayúsculas.
<Todos los caracteres alfabéticos siguientes se escriben en minúsculas.
!Desactiva la conversión de mayúsculas y minúsculas.
;cFinaliza la máscara de entrada y establece el carácter en blanco en c.
[ ] { }Reservado.
\Utilice \ para escapar de los caracteres especiales enumerados anteriormente y utilizarlos como separadores.

Cuando se crea o se borra, la línea de edición se rellena con una copia de la cadena de máscara de entrada en la que se han eliminado los metacaracteres y los caracteres de máscara se han sustituido por el carácter en blanco (por defecto, un space).

Cuando se establece una máscara de entrada, el método text() devuelve una copia modificada del contenido de la edición de línea en la que se han eliminado todos los caracteres en blanco. El contenido sin modificar puede leerse utilizando displayText().

El método hasAcceptableInput() devuelve false si el contenido actual de la edición de línea no cumple los requisitos de la máscara de entrada.

Ejemplos:

MáscaraNotas
000.000.000.000;_Dirección IP; los espacios en blanco son _.
HH:HH:HH:HH:HH:HH;_Dirección MAC
0000-00-00Fecha ISO; los espacios en blanco son space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#Número de licencia; los espacios en blanco son # y todos los caracteres (alfabéticos) se convierten a mayúsculas.

Para obtener un control de rango (por ejemplo, para una dirección IP) utilice máscaras junto con validators.

Funciones de acceso:

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

Véase también maxLength, QChar::isLetter(), QChar::isNumber() y QChar::digitValue().

maxLength : int

Esta propiedad contiene la longitud máxima permitida del texto.

Si el texto es demasiado largo, se trunca en el límite.

Si se produce el truncamiento, cualquier texto seleccionado se deselecciona, la posición del cursor se pone a 0 y se muestra la primera parte de la cadena.

Si la edición de línea tiene una máscara de entrada, la máscara define la longitud máxima de la cadena.

Por defecto, esta propiedad contiene un valor de 32767.

Funciones de acceso:

int maxLength() const
void setMaxLength(int)

Véase también inputMask.

modified : bool

Esta propiedad indica si el contenido de la línea de edición ha sido modificado por el usuario.

QLineEdit nunca lee el indicador de modificación; tiene un valor por defecto de false y cambia a true cada vez que el usuario cambia el contenido de la edición de línea.

Esto es útil para cosas que necesitan proporcionar un valor por defecto pero que no empiezan sabiendo cuál debería ser el valor por defecto (por ejemplo, depende de otros campos del formulario). Comienza la edición de línea sin el mejor valor por defecto, y cuando se conoce el valor por defecto, si modified() devuelve false (el usuario no ha introducido ningún texto), inserta el valor por defecto.

Llamando a setText() se reinicia el indicador modificado a false.

Funciones de acceso:

bool isModified() const
void setModified(bool)

placeholderText : QString

Esta propiedad contiene el texto del marcador de línea.

Establecer esta propiedad hace que la edición de línea muestre un texto de marcador de posición en gris mientras la edición de línea esté vacía.

Normalmente, una edición de línea vacía muestra el texto del marcador de posición incluso cuando tiene el foco. Sin embargo, si el contenido está centrado horizontalmente, el texto del marcador de posición no se muestra bajo el cursor cuando la edición de línea tiene el foco.

Por defecto, esta propiedad contiene una cadena vacía.

Funciones de acceso:

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

Véase también text().

readOnly : bool

Esta propiedad indica si la línea de edición es de sólo lectura.

En modo sólo lectura, el usuario aún puede copiar el texto al portapapeles, o arrastrar y soltar el texto (si echoMode() es Normal), pero no puede editarlo.

QLineEdit no muestra el cursor en modo sólo lectura.

Por defecto, esta propiedad es false.

Funciones de acceso:

bool isReadOnly() const
void setReadOnly(bool)

Véase también setEnabled().

[read-only] redoAvailable : bool

Esta propiedad indica si está disponible la opción de rehacer.

Rehacer está disponible una vez que el usuario ha realizado una o más operaciones de deshacer en el texto de la línea editada.

Por defecto, esta propiedad es false.

Funciones de acceso:

bool isRedoAvailable() const

[read-only] selectedText : QString

Esta propiedad contiene el texto seleccionado.

Si no hay texto seleccionado, el valor de esta propiedad es una cadena vacía.

Por defecto, esta propiedad contiene una cadena vacía.

Funciones de acceso:

QString selectedText() const

Véase también hasSelectedText().

text : QString

Esta propiedad contiene el texto de la línea editada.

Al establecer esta propiedad se borra la selección, se borra el historial de deshacer/rehacer, se mueve el cursor al final de la línea y se restablece la propiedad modified a false. El texto no se valida cuando se inserta con setText().

El texto se trunca a la longitud de maxLength().

Por defecto, esta propiedad contiene una cadena vacía.

Funciones de acceso:

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

Señal de notificador:

void textChanged(const QString &text)

Véase también insert() y clear().

[read-only] undoAvailable : bool

Esta propiedad indica si deshacer está disponible.

Deshacer está disponible una vez que el usuario ha modificado el texto en la línea de edición.

Por defecto, esta propiedad es false.

Funciones de acceso:

bool isUndoAvailable() const

Documentación de funciones miembro

[explicit] QLineEdit::QLineEdit(QWidget *parent = nullptr)

Construye una edición de línea sin texto.

La longitud máxima del texto es de 32767 caracteres.

El argumento parent se envía al constructor QWidget.

Véase también setText() y setMaxLength().

[explicit] QLineEdit::QLineEdit(const QString &contents, QWidget *parent = nullptr)

Construye una edición de línea que contiene el texto contents como hijo de parent.

La posición del cursor se fija al final de la línea y la longitud máxima del texto a 32767 caracteres.

Véase también text() y setMaxLength().

[virtual noexcept] QLineEdit::~QLineEdit()

Destruye la edición de línea.

void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)

Añade action a la lista de acciones en position.

QAction *QLineEdit::addAction(const QIcon &icon, QLineEdit::ActionPosition position)

Crea una nueva acción con el icon dado en el position.

Se trata de una función sobrecargada.

void QLineEdit::backspace()

Si no hay ningún texto seleccionado, borra el carácter situado a la izquierda del cursor de texto y desplaza el cursor una posición hacia la izquierda. Si hay algún texto seleccionado, el cursor se desplaza al principio del texto seleccionado, y se borra el texto seleccionado.

Véase también del().

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

Reimplementa: QWidget::changeEvent(QEvent *event).

[slot] void QLineEdit::clear()

Borra el contenido de la edición de línea.

Véase también setText() y insert().

QCompleter *QLineEdit::completer() const

Devuelve el QCompleter actual que proporciona terminaciones.

Véase también setCompleter().

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

Reimplementa: QWidget::contextMenuEvent(QContextMenuEvent *event).

Muestra el menú contextual estándar creado con createStandardContextMenu().

Si no desea que la línea de edición tenga un menú contextual, puede establecer su contextMenuPolicy a Qt::NoContextMenu. Para personalizar el menú contextual, reimplemente esta función. Para ampliar el menú contextual estándar, reimplemente esta función, llame a createStandardContextMenu(), y amplíe el menú devuelto.

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

El parámetro event se utiliza para obtener la posición en la que se encontraba el cursor del ratón cuando se generó el evento.

Véase también setContextMenuPolicy().

[slot] void QLineEdit::copy() const

Copia el texto seleccionado en el portapapeles, si existe, y si echoMode() es Normal.

Véase también cut() y paste().

QMenu *QLineEdit::createStandardContextMenu()

Crea el menú contextual estándar, que se muestra cuando el usuario pulsa sobre la línea de edición con el botón derecho del ratón. Se llama desde el manejador por defecto contextMenuEvent(). La propiedad del menú emergente se transfiere al llamador.

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

Desplaza el cursor hacia atrás steps caracteres. Si mark es verdadero, cada carácter desplazado se añade a la selección. Si mark es falso, se borra la selección.

Véase también cursorForward().

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

Mueve el cursor hacia delante steps caracteres. Si mark es verdadero, cada carácter desplazado se añade a la selección. Si mark es falso, se borra la selección.

Véase también cursorBackward().

int QLineEdit::cursorPositionAt(const QPoint &pos)

Devuelve la posición del cursor bajo el punto pos.

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

Esta señal se emite cada vez que se mueve el cursor. La posición anterior viene dada por oldPos, y la nueva posición por newPos.

Véase también setCursorPosition() y cursorPosition().

[protected] QRect QLineEdit::cursorRect() const

Devuelve un rectángulo que incluye el cursor de edición de línea.

void QLineEdit::cursorWordBackward(bool mark)

Mueve el cursor una palabra hacia atrás. Si mark es verdadero, la palabra también se selecciona.

Véase también cursorWordForward().

void QLineEdit::cursorWordForward(bool mark)

Mueve el cursor una palabra hacia delante. Si mark es verdadero, la palabra también se selecciona.

Véase también cursorWordBackward().

[slot] void QLineEdit::cut()

Copia el texto seleccionado en el portapapeles y lo borra, si lo hay, y si echoMode() es Normal.

Si el validador actual no permite borrar el texto seleccionado, cut() copiará sin borrar.

Véase también copy(), paste() y setValidator().

void QLineEdit::del()

Si no hay ningún texto seleccionado, borra el carácter situado a la derecha del cursor de texto. Si hay algún texto seleccionado, el cursor se desplaza al principio del texto seleccionado, y se borra el texto seleccionado.

Véase también backspace().

void QLineEdit::deselect()

Deselecciona cualquier texto seleccionado.

Véase también setSelection() y selectAll().

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

Reimplementa: QWidget::dragEnterEvent(QDragEnterEvent *event).

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

Reimplementa: QWidget::dragLeaveEvent(QDragLeaveEvent *event).

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

Reimplementa: QWidget::dragMoveEvent(QDragMoveEvent *event).

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

Reimplementa: QWidget::dropEvent(QDropEvent *event).

[signal] void QLineEdit::editingFinished()

Esta señal se emite cuando se utiliza la tecla Retorno o Intro, o si la edición de línea pierde el foco y su contenido ha cambiado desde la última vez que se emitió esta señal.

Nota: Si hay un validator() o inputMask() establecido en la edición de línea y se utiliza enter/return, la señal editingFinished() sólo se emitirá si la entrada sigue al inputMask() y el validator() devuelve QValidator::Acceptable.

void QLineEdit::end(bool mark)

Mueve el cursor de texto al final de la línea a menos que ya esté allí. Si mark es verdadero, el texto se selecciona hacia la última posición. En caso contrario, cualquier texto seleccionado se deselecciona si se mueve el cursor.

Véase también home().

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

Reimplementa: QWidget::event(QEvent *event).

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

Reimplementa: QWidget::focusInEvent(QFocusEvent *event).

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

Reimplementa: QWidget::focusOutEvent(QFocusEvent *event).

void QLineEdit::home(bool mark)

Mueve el cursor de texto al principio de la línea a menos que ya esté allí. Si mark es verdadero, el texto se selecciona hacia la primera posición. En caso contrario, cualquier texto seleccionado se deselecciona si se mueve el cursor.

Véase también end().

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

Inicializa option con los valores de este QLineEdit. Este método es útil para subclases cuando necesitan un QStyleOptionFrame, pero no quieren rellenar toda la información ellos mismos.

Véase también QStyleOption::initFrom().

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

Reimplementa: QWidget::inputMethodEvent(QInputMethodEvent *event).

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

Reimplementa: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

[signal] void QLineEdit::inputRejected()

Esta señal se emite cuando el usuario utiliza una tecla que no se considera una entrada válida. Por ejemplo, si el uso de una tecla hace que la llamada a validate() de un validador devuelva Invalid. Otro caso es cuando se intenta introducir más caracteres por encima de la longitud máxima de la línea de edición.

Nota: Esta señal seguirá emitiéndose cuando sólo se acepte una parte del texto. Por ejemplo, si hay una longitud máxima establecida y el texto del portapapeles es más largo que la longitud máxima cuando se pega.

void QLineEdit::insert(const QString &newText)

Elimina cualquier texto seleccionado, inserta newText, y valida el resultado. Si es válido, establece el nuevo texto como el nuevo contenido de la edición de línea.

Véase también setText() y clear().

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

Reimplementa: QWidget::keyPressEvent(QKeyEvent *event).

Convierte la pulsación de tecla dada event en una acción de edición de línea.

Si se utiliza Return o Enter y el texto actual es válido (o puede ser made valid por el validador), se emite la señal returnPressed().

Véase también Default Key Bindings.

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

Reimplementa: QWidget::keyReleaseEvent(QKeyEvent *event).

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

Reimplementa una función de acceso para la propiedad: QWidget::minimumSizeHint.

Devuelve un tamaño mínimo para la edición de la línea.

El ancho devuelto suele ser suficiente para al menos un carácter.

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

Reimplementa: QWidget::mouseDoubleClickEvent(QMouseEvent *event).

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

Reimplementa: QWidget::mouseMoveEvent(QMouseEvent *event).

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

Reimplementa: QWidget::mousePressEvent(QMouseEvent *event).

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

Reimplementa: QWidget::mouseReleaseEvent(QMouseEvent *event).

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

Reimplementa: QWidget::paintEvent(QPaintEvent *event).

[slot] void QLineEdit::paste()

Inserta el texto del portapapeles en la posición del cursor, borrando cualquier texto seleccionado, siempre que la edición de línea no sea read-only.

Si el resultado final no es válido para la actual validator, no ocurre nada.

Véase también copy() y cut().

[slot] void QLineEdit::redo()

Rehace la última operación si rehacer es available.

[signal] void QLineEdit::returnPressed()

Esta señal se emite cuando se utiliza la tecla Return o Enter.

Nota: Si hay un validator() o inputMask() establecido en la edición de línea, la señal returnPressed() sólo se emitirá si la entrada sigue al inputMask() y el validator() devuelve QValidator::Acceptable.

[slot] void QLineEdit::selectAll()

Selecciona todo el texto (lo resalta) y mueve el cursor hasta el final.

Nota: Esto es útil cuando se ha insertado un valor por defecto, ya que si el usuario escribe antes de hacer clic en el widget, el texto seleccionado se borrará.

Véase también setSelection() y deselect().

[signal] void QLineEdit::selectionChanged()

Esta señal se emite cada vez que cambia la selección.

Véase también hasSelectedText() y selectedText().

int QLineEdit::selectionEnd() const

Devuelve el índice del carácter directamente después de la selección en la edición de línea (o -1 si no hay texto seleccionado).

Véase también selectedText(), selectionStart() y selectionLength().

int QLineEdit::selectionLength() const

Devuelve la longitud de la selección.

Véase también selectedText(), selectionStart() y selectionEnd().

int QLineEdit::selectionStart() const

Devuelve el índice del primer carácter seleccionado en la edición de línea (o -1 si no hay texto seleccionado).

Véase también selectedText(), selectionEnd() y selectionLength().

void QLineEdit::setCompleter(QCompleter *c)

Establece esta edición de línea para proporcionar autocompletado desde el completador, c. El modo de completado se establece utilizando QCompleter::setCompletionMode().

Para utilizar QCompleter con QValidator o QLineEdit::inputMask, debe asegurarse de que el modelo proporcionado a QCompleter contiene entradas válidas. Puede utilizar QSortFilterProxyModel para asegurarse de que el modelo de QCompleter sólo contiene entradas válidas.

Para eliminar el completador y desactivar el autocompletado, pase un nullptr.

Véase también completer() y QCompleter.

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

Selecciona texto a partir de la posición start y para length caracteres. Se permiten longitudes negativas.

Véase también deselect(), selectAll() y selectedText().

void QLineEdit::setTextMargins(const QMargins &margins)

Establece el margins alrededor del texto dentro del marco.

Véase también textMargins().

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

Establece los márgenes alrededor del texto dentro del marco para que tengan los tamaños left, top, right, y bottom.

Véase también textMargins().

void QLineEdit::setValidator(const QValidator *v)

Establece el validador de valores de edición de línea en v.

Las señales de edición de línea returnPressed() y editingFinished() sólo se emitirán si v valida el contenido de la edición de línea como Acceptable. El usuario puede cambiar el contenido a cualquier valor de Intermediate durante la edición, pero no podrá editar el texto a un valor que v valide como Invalid.

Esto permite restringir el texto que se almacenará cuando se realice la edición, dejando al mismo tiempo a los usuarios la libertad suficiente para editar el texto de un estado válido a otro.

Para eliminar el validador de entrada actual, pase nullptr. La configuración inicial es no tener validador de entrada (cualquier entrada es aceptada hasta maxLength()).

Véase también validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator, y QRegularExpressionValidator.

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

Reimplementa una función de acceso para la propiedad: QWidget::sizeHint.

Devuelve un tamaño recomendado para el widget.

La anchura devuelta, en píxeles, suele ser suficiente para unos 15 o 20 caracteres.

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

Esta señal se emite cada vez que cambia el texto. El argumento text es el nuevo texto.

A diferencia de textEdited(), esta señal también se emite cuando el texto se modifica mediante programación, por ejemplo, llamando a setText().

Nota: Señal notificadora para la propiedad text.

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

Esta señal se emite cada vez que se edita el texto. El argumento text es el nuevo texto.

A diferencia de textChanged(), esta señal no se emite cuando el texto se modifica mediante programación, por ejemplo, llamando a setText().

QMargins QLineEdit::textMargins() const

Devuelve los márgenes de texto del widget.

Véase también setTextMargins().

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

Reimplementa: QObject::timerEvent(QTimerEvent *event).

[slot] void QLineEdit::undo()

Deshace la última operación si deshacer es available. Deselecciona cualquier selección actual y actualiza el inicio de la selección a la posición actual del cursor.

const QValidator *QLineEdit::validator() const

Devuelve un puntero al validador de entrada actual, o nullptr si no se ha establecido ningún validador.

Véase también setValidator().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.