Dans la leçon 5, le but va maintenant être d'étendre la classe widget. Vous allez donc apprendre les fonctions virtuelles. Ici, l'événement resizeEvent()> est réimplanté. Ce qu'il est important d'apprendre ici (au-delà de l'extension de classe), c'est que Qt utilise des fonctions virtuelles ayant un événement en paramètre pour gérer les événements utilisateurs. Vous devriez donc vous familiariser avec les classes suivantes de la bibliothèque Qt :
QEvent
QChildEvent
QCloseEvent
QFocusEvent
QKeyEvent
QMouseEvent
QMoveEvent
QPaintEvent
QResizeEvent
QTimerEvent
Lorsque vous voulez écrire des widgets personnalisés, spécialement les zones d'affichage des applications, vous devez surcharger l'implantation par défaut des méthodes-événements du widget par les vôtres pour certains événements à traiter. Par exemple, cela peut être
virtual> void mousePressEvent ( QMouseEvent * ) afin de traiter un événement de la souris pour afficher un menu contextuel. Dans l'implantation, vous devrez insérer un paramètre formel dans l'en-tête de la fonction, la plupart des développeurs utilise event> ou juste e> comme nom du paramètre.
Ensuite, vous pouvez traiter les paramètres de l'événement. Pour un QMouseEvent>, vous devez demander si c'est le bouton gauche, droit ou du milieu de la souris qui a provoqué cet événement.