Bonjour,
Je ne comprends pas comment fonctionne la méthode eventFilter de Qt.
Mon but, c'est d'installer un filtre sur ma fenêtre principale. Lorsque la méthode show() est appelée, mon filtre doit appeler d'autres méthodes de la fenêtre..
Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Ma fenêtre
CallGraph *w = new CallGraph();
w->installEventFilter(new FilterWindow(assets,w));
w->show();
 
//Ma classe FilterWindow
bool FilterWindow::eventFilter(QObject *obj, QEvent *event, const QList<ITestAsset*> &assets)
 {
	 cout<<"in filter\n";
     if (event->type() == QEvent::Show) {
         //QShowEvent *sEvent = static_cast<QShowEvent *>(event);
         // les méthodes que je veux que le filtre exécute
         DataGraph dg(assets,((CallGraph*)parent())->getProgressMonitor());
         ((CallGraph*)parent())->buildGraph(&dg); //draw the graph
         return true;
     } else {
         // standard event processing
         return QObject::eventFilter(obj, event);
     }
 }
Lors de l'exécution de mon programme, je ne passe jamais dans cette méthode : eventFilter.
Pouvez-vous m'expliquer le fonctionnement s'il vous plaît?