Solved set text to qlineedit on focus
-
i wanna set text to line edit whenever the focus is on it. i searched online and found out that this is possible in qt5 but not in qt4. but that doesn't matter.
here's my code:
class some_class { Q_OBJECT public: some_class() { // some code... lineEdit = new QLineEdit; QObject::connect(lineEdit, &QLineEdit::focusInEvent(QFocusEvent *), lineEdit, [this]() { lineEdit->setText("some_text"); }); } protected slots: // some slots... private: QLineEdit *lineEdit; // other members... };
and here's the error i get for QFocusEvent *event's asterisk :
error: expected primary-expression before '*' token
what does this mean?
by the way, i've also tred this which didn't work either:
QObject::connect(lineEdit, &QLineEdit::focusInEvent, lineEdit, [this]() { lineEdit->setText("some_text"); });
-
focusInEvent is protected function. You will not be use it like this in lambda. You can subclass QLineEdit and re-implement focusInEvent function to make your use case.