Filtrar minimizar evento
Pregunta
tengo un QMdiSubWindow
y necesito filtrar el evento minimizar para poder simplemente hide()
la ventana.
He probado lo siguiente:
void accounts::changeEvent ( QEvent *event )
{
if(event->QEvent::WindowStateChange) {
event->ignore();
}
}
Esto filtra TODOS los cambios de estado de la ventana, como maximizar.Necesito el evento minimizar exclusivamente.
event->ignore()
no ignora nada.yo también lo intenté event->setAccepted(false)
, que tampoco logró anular eventos.
Solución
void accounts::event(QEvent *e)
{
if (e->type() == QEvent::WindowStateChange) {
if (isMinimized()) {
hide();
e->ignore();
} else {
e->accept();
}
}
QMdiSubWindow::event(e);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow