Нет сигнала, когда QLineEdit получает фокус. Таким образом, понятие подключения метода к событию фокуса не является прямым.
Если вы хотите получить сигнал focused
, вам придется получить класс QLineEdit. Вот пример того, как этого можно достичь.
В файле myLineEdit.h
есть:
class MyLineEdit : public QLineEdit
{
Q_OBJECT
public:
MyLineEdit(QWidget *parent = 0);
~MyLineEdit();
signals:
void focussed(bool hasFocus);
protected:
virtual void focusInEvent(QFocusEvent *e);
virtual void focusOutEvent(QFocusEvent *e);
}
В файле myLineEdit.cpp
есть:
MyLineEdit::MyLineEdit(QWidget *parent)
: QLineEdit(parent)
{}
MyLineEdit::~MyLineEdit()
{}
void MyLineEdit::focusInEvent(QFocusEvent *e)
{
QLineEdit::focusInEvent(e);
emit(focussed(true));
}
void MyLineEdit::focusOutEvent(QFocusEvent *e)
{
QLineEdit::focusOutEvent(e);
emit(focussed(false));
}
Теперь вы можете подключить сигнал MyLineEdit::focussed()
к вашему focus()
методу (слоту).