Question

I have designed a window with a QLineEdit in PyQt4 with the help of Designer. I converted .ui to .py using pyuic4. I created another .py file and imported and subclassed Ui_Class.

I want to perform some task when QLineEdit lost focus.

Just line button clicked event i to connect QLineEdit Lost focus event

Was it helpful?

Solution

Use an eventFilter:

class Filter(QtCore.QObject):
    def eventFilter(self, widget, event):
        # FocusOut event
        if event.type() == QtCore.QEvent.FocusOut:
            # do custom stuff
            print 'focus out'
            # return False so that the widget will also handle the event
            # otherwise it won't focus out
            return False
        else:
            # we don't care about other events
            return False

And in your window:

# ...
self._filter = Filter()
# adjust for your QLineEdit
self.ui.lineEdit.installEventFilter(self._filter)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top