Qt: Fonctionnement d'un eventFilter
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:
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?