Filtrer minimiser l'événement
Question
j'ai un QMdiSubWindow
et je dois filtrer l'événement minimiser pour pouvoir simplement hide()
la fenêtre.
J'ai essayé ce qui suit:
void accounts::changeEvent ( QEvent *event )
{
if(event->QEvent::WindowStateChange) {
event->ignore();
}
}
Cela filtre TOUS les changements d'état de la fenêtre, tels que l'agrandissement.J'ai besoin exclusivement de l'événement minimiser.
event->ignore()
n'ignore rien.j'ai aussi essayé event->setAccepted(false)
, qui n’a pas non plus réussi à annuler les événements.
La solution
void accounts::event(QEvent *e)
{
if (e->type() == QEvent::WindowStateChange) {
if (isMinimized()) {
hide();
e->ignore();
} else {
e->accept();
}
}
QMdiSubWindow::event(e);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow