In the following code snipet MyListWidget inherits from QListWidget and defines functions to capture KeyPress amd mouseRelease events. It is also shown how an event filter could do the job.
class MyListWidget( QtGui.QListWidget): ”' ”' def __init__( self): QtGui.QListWidget.__init__(self) #self.installEventFilter( self) def keyPressEvent (self, eventQKeyEvent): key = eventQKeyEvent.key() if key == QtCore.Qt.Key_Left: print( "left") elif key == QtCore.Qt.Key_Right: print( "right") elif key == QtCore.Qt.Key_Down: print( "down") elif key == QtCore.Qt.Key_Up: print( "up") elif key == QtCore.Qt.Key_Return: item = self.currentItem() print( "Do something with", item.text()) else: print( "key", key) return QtGui.QListWidget.keyPressEvent(self, eventQKeyEvent) def mouseReleaseEvent( self, event): item = self.currentItem() print( "Do something with", item.text()) def eventFilter(self, object, event): if (event.type() == QtCore.QEvent.KeyPress): key = event.key() if key == QtCore.Qt.Key_Left: print( "left") elif key == QtCore.Qt.Key_Right: print( "right") elif key == QtCore.Qt.Key_Down: print( "down") elif key == QtCore.Qt.Key_Up: print( "up") elif key == QtCore.Qt.Key_Return: item = self.currentItem() print( "do somethig with", item.text()) else: print( "key", key) return False