In Qt, all events that occur are encapsulated in objects that inherit from the QEvent abstract class. An example of an event that has occurred is when a window has been resized or moved. The change in the state of the application will be noticed, and an appropriate QEvent object will be created to represent it.
The application event loop delivers this object to certain objects that inherit from QObject. This QEvent object is handled by means of a method call that will be invoked.
There are different types of events. When a mouse is clicked, a QMouseEvent object is created to represent this. The object will contain additional information, such as the specific mouse button that was clicked, together with the location where that event occurred.