Do you want change the meaning of some key that is consumed by LineEdit? In that case, you indeed need to subclass LineEdit.
Do you want to catch some key that is ignored by LineEdit? If yes, just add Key virtual method to the main window - ignored keys are passed to parent (that is the purpose of Key bool return value).