- QT
- AbulEduApplicationV1
- AbulEduAproposV1
- AbulEduAudioV1
- AbulEduButtonListV1
- AbulEduCameraV1
- AbulEduCameraWidgetV1
- AbulEduConstantesV1
- AbulEduEditeur
- AbulEduGraphicsEtiquetteV1
- AbulEduIdentitesV1
- AbulEduInstructionV1
- AbulEduMediaplayerV1
- AbulEduMediathequeGetV1
- AbulEduMenuFeuilleV1
- AbulEduNumericLinearPadv1
- AbulEduQRCodeReaderV1
- AbulEduSingletonV1
- AbulEduSlideWidgetContainerV1
- AbulEduStackedWidgetV1
- AbulEduTexteV1
- AbulEduTextV1
- AbulEduTutorialV1
- AbulEduVirtualKeyboardV1
- AbulEduVisionneuseImageV1
- AbulEduWidgetAssistantEtapesV1
- Affichage des messages d'erreurs
- Affichage dynamique des étapes d'un éditeur
- Bouton croix de fenêtre
- Centrer une fenêtre
- Création fichierdossier temporaire unique
- Créer une AbulÉduApplicationV1 dans QtCreator
- Framework Graphic View
- Framework Graphic Viewodt
- Framework State Machine
- Générer automatiquement un dictionnaire de verbes
- Gérer la modalité des fenêtres
- Gestion des arguments
- Getters par référence et non par valeur
- Installation Qt5
- Installation Qt56
- Normalisation des modules
- Partager des variables avec différents pri
- Redimensionnement application Qt
- Redimensionner un QGraphicsSvgItem
- Tests et Logs sous Windows
- Utilisation de l'assistant AbulEduApplicationV1
- Utiliser des QSharedPointer
QEvent¶
Je veux détecter quand la souris est au-dessus d'un bouton pour pouvoir faire quelque chose ici dans l'exemple : écrire un texte dans un textEdit.
Il va falloir créer et installer un filtre d'évènement pour chaque élément à surveiller (ici pbbouton1 et pbBouton2)
Tout se passe dans MainWindow
dans mainwindow.h on déclare eventFilter
protected: bool eventFilter(QObject *obj, QEvent *event);
Dans mainwindow.cpp
on installe les filtres dans le constructeur :
ui->pbbouton1->installEventFilter(this); ui->pbBouton2->installEventFilter(this);
puis on définit le filtre :
bool MainWindow::eventFilter(QObject *obj, QEvent *event) { if (obj->objectName().contains("pb")) //ici on teste les boutons sur leur nom qui doit contenir pb { if (event->type() == QEvent::Enter) // La souris entre sur le bouton { ui->textEdit->setText(obj->objectName()+trUtf8(" Souris entrée")); return true; } else if(event->type() == QEvent::Leave) //La souris sort { ui->textEdit->setText(trUtf8("Souris sortie")); } else { return false; } } else { // On fait suivre l'event à la classe parent au cas ou il serait utilisé ailleurs return QMainWindow::eventFilter(obj, event); } }