GUI applications are event-driven: Everything that happens once the application has started is the result of an event. When we program with Qt, we seldom need to think about events, because Qt widgets emit signals when something significant occurs. Events become useful when we write our own custom widgets or when we want to modify the behavior of existing Qt widgets.
In this chapter, we will explore Qt's event model. We will see how to handle the different types of events in Qt. We will also look at how to use event filters to monitor events before they reach their destinations. Finally, we will examine Qt's event loop, reviewing how to keep the user interface responsive during intensive processing.