Cómo obtener el evento Click de QLineEdit
en Qt?Cómo obtener un evento Click de QLineEdit en Qt?
No puedo ver ninguna SLOT relacionada con hacer clic en QLineEdit
?
Cómo obtener el evento Click de QLineEdit
en Qt?Cómo obtener un evento Click de QLineEdit en Qt?
No puedo ver ninguna SLOT relacionada con hacer clic en QLineEdit
?
Necesita volver a implementar focusInEvent en una nueva clase que extiende QLineEdit. Los siguientes enlaces te ayudarán.
no haya señales como se hace clic() para QLineEdit, pero se puede subclase y emitir dicha señal en su implementación personalizada de mouseReleaseEvent.
I dono si esto ayuda, tuve que llamar a una función una vez que se ingresa un texto. Así es como lo hice.
connect(ui->passwordSetLineEdit,SIGNAL(textEdited(QString)),this,SLOT(onTextEdit(QString)));
cuando se introduce un texto de señal textEdited se emited, así mi función onTextEdit se llamará.
No creo que la subclasificación de un QLineEdit sea la elección correcta. ¿Por qué subclase si no es necesario? En su lugar, podría usar filtros de eventos. Consulte QObject::eventFilter.
Ejemplo:
MyClass::MyClass() :
edit(new QLineEdit(this))
{
edit->installEventFilter(this);
}
bool MyClass::eventFilter(QObject* object, QEvent* event)
{
if(object == edit && event->type() == QEvent::MouseClick) {
// bring up your custom edit
return false; // lets the event continue to the edit
}
return false;
}
Aunque no hay un "clic" o evento "entrado". Puede usar el
void cursorPositionChanged(int old, int new)
Signal. Se emite cuando el usuario hace clic en lineedit (si está habilitado) y también en algunas otras ocasiones, por lo que debe verificar cuál de los eventos ocurrió realmente, pero creo que esto es aún más fácil que crear subclases o usar el detector de eventos para algunas aplicaciones .
¿Alguna razón práctica por la que está solicitando el evento click en un QLineEdit? – emaillenin
@emaillenin: Ya, quiero traer otro control personalizado al hacer clic en el cuadro de texto ... – user662285