from PyQt4 import QtGui, QtCore # parentClass = QtGui.QWidget # parentClass = QtGui.QTabWidget parentClass = QtGui.QTextEdit class MyWidget( parentClass ): def __init__(self, *args ): parentClass.__init__( self, *args ) print 'old focus policy: ', self.focusPolicy() self.setFocusPolicy( QtCore.Qt.TabFocus ) print 'new focus policy: ', self.focusPolicy() def focusInEvent( self, focusEvent ): print 'focusInEvent' parentClass.focusInEvent( self, focusEvent ) def focusOutEvent( self, focusEvent ): print 'focusOutEvent' parentClass.focusInEvent( self, focusEvent ) def main(): app = QtGui.QApplication([]) w = MyWidget() w.setFocus() w.show() app.exec_() if __name__ == '__main__': main()