I want to be able to know if in the QLineEdit
it was a click. So I guess I should reimplement the following function(??):
void QLineEdit::focusInEvent ( QFocusEvent * e ) [virtual protected]
How should I do that?
Also, please tell me how to use focusInEvent()
function in order to know if QLineEdit myEdit;
object got focus.
EDIT: I have written the following function:
bool LoginDialog::eventFilter(QObject *target, QEvent *event)
{
if (target == m_passwordLineEdit)
{
if (event->type() == QEvent::FocusIn)
{
if(checkCapsLock())
{
QMessageBox::about(this,"Caps Lock", "Your caps lock is ON!");
}
return true;
}
}
return QDialog::eventFilter(target, event);
}
And have registered m_passwordLineEdit
in LoginDialog
class constructor like this:
m_passwordLineEdit->installEventFilter(this);
And it's falling into an infinite loop of MessageBox-es. Please help me to resolve this situation. Actually I would like to implemet this function with a pop-up window (not with a QMessageBox
). Is it OK to use QLabel
for that need?
Also, please tell me how to use focusInEvent() function in order to know if QLineEdit myEdit; object got focus.
You should connect yourself to the following SIGNAL :
void QApplication::focusChanged ( QWidget * old, QWidget * now ) [signal]
When the new QWidget is your QLineEdit, you know it got focus !
Hope it helps !
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With