Ich habe mal das Beispiel erweitert. Nachfolgend werde ich euch das Beispiel vorstellen.
Mein 
Problem ist, dass - sobald ich den 
eventFilter() installiert habe - die Cursortasten, Löschen- und Entfern-Tasten nicht wirklich greifen. In diesem Beispiel möchte ich, dass der Benutzer nicht so oft mit der Leertaste rumspielt. Ich möchte also seine Leertaste 
überwachen.
Problem-Hergang. Sobald das Beispiel-Programm gestartet wird,kann man mittels der Schaltflächen den 
eventFilter() installieren, und wahlweise auch deinstallieren. Wenn der 
eventFilter() nun installiert ist, und ich markiere den getippten Text im 
QLineEdit()-Objekt und drücke anschließend die Lösch- und/oder Entfern-Taste, dann passiert 
gar nichts. Der Inhalt des 
QLineEdit()-Objektes wird nicht gelöscht. Muss ich jetzt hingehen und sämtliche Tasten nun händisch verwalten? 
Code: Alles auswählen
#!/usr/bin/env python
import sys
from PyQt4.QtCore import QEvent, Qt
from PyQt4.QtGui import QMainWindow, QWidget, QApplication, QVBoxLayout, QLineEdit, QPushButton
class Window(QMainWindow):
    def __init__(self, parent=None):
        
        QMainWindow.__init__(self, parent)
        self.count_space_pressed = 0
        self.current_pos = None
        self.init_ui()
        self.init_signal_slot_push_button()
    def init_ui(self):
        centralwidget = QWidget(self)
        self.input_line_edit = QLineEdit(self)
        
        self.close_push = QPushButton(self)
        self.close_push.setEnabled(False)
        self.close_push.setText("Close")
        self.push_install = QPushButton(self)
        self.push_install.setText("Install eventFilter")
        
        self.push_deinstall = QPushButton(self)
        self.push_deinstall.setText("Deinstall eventFilter")
                
        layout = QVBoxLayout(centralwidget)        
        layout.addWidget(self.input_line_edit)
        layout.addWidget(self.push_install)
        layout.addWidget(self.push_deinstall)
        layout.addWidget(self.close_push)
        
        self.setCentralWidget(centralwidget)
        return
    def install_filter_event(self, widget_object):
        widget_object.installEventFilter(self)
        return
    def deinstall_filter_event(self, widget_object):
        widget_object.removeEventFilter(self)
        return
    def init_signal_slot_push_button(self):
        self.close_push.clicked.connect(self.close)
        self.push_install.clicked.connect(lambda: self.install_filter_event(self.input_line_edit))
        self.push_deinstall.clicked.connect(lambda: self.deinstall_filter_event(self.input_line_edit))
        return
    def strip_string(self, content, site=None):
        if site == "right":
            return content.rstrip()
        elif site == "right_left":
            return content.strip()
        elif site == "left":
            return content.lstrip()
    def eventFilter(self, received_object, event):
        content_line_edit = unicode(received_object.text())
       
        if event.type() == QEvent.KeyPress:
            if event.key() == Qt.Key_Space:
                '''
                    Yes, the user did press the Space-Key. We
                    count how often he pressed the space key.
                '''
                self.count_space_pressed = self.count_space_pressed + 1
                if int(self.count_space_pressed) > 1:
                    '''
                        The user did press the space key more than 1 time.
                    '''
                    
                    self.close_push.setEnabled(False)
                    '''
                        Now we know the user did press the
                        space key more than 1 time. We take a look,
                        if variablenamed (sel.current_pos) is None.
                        That means, no current position is saved.
                    '''
                    if self.current_pos is None:
                        '''
                            Well no current position is saved,
                            that why we save the new position anf
                            then we set the position of the cursor.
                        '''
                        self.current_pos = received_object.cursorPosition()
                        received_object.setCursorPosition(int(self.current_pos))
                        
                        received_object.clear()
                        received_object.setText(self.strip_string(content_line_edit, site="right"))
                    else:
                        '''
                            Well the user press the space key again, for
                            example 3, 4, 5, 6 times we want to keep the
                            old position of the cursor until he press
                            no space key.
                        '''                        
                        received_object.setCursorPosition(int(self.current_pos))
                        '''
                            We have to remove all spaces in a string
                            on the right side and set the content on QLineEdit-widget.
                        '''
                        received_object.clear()
                        received_object.setText(self.strip_string(content_line_edit, site="right"))
                else: pass                
            else:
                '''
                    No the user didn't press the space key.
                    So we set all setting on default.
                '''
                self.close_push.setEnabled(True)
                self.current_pos = None
                self.count_space_pressed = 0
                received_object.clear()
                received_object.setText(self.strip_string(content_line_edit, site="left"))
        # Call Base Class Method to Continue Normal Event Processing
        return QMainWindow.eventFilter(self, received_object, event)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    app.exec_()