Why do *Event functions declared in QWidget as protected ? What's the reason ?