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:
Lors de l'exécution de mon programme, je ne passe jamais dans cette méthode : eventFilter.
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); } }
Pouvez-vous m'expliquer le fonctionnement s'il vous plaît?
Partager