我有QMdiSubWindow
,我需要过滤最小化事件,这样我就可以hide()
窗口。
我尝试了以下内容:
void accounts::changeEvent ( QEvent *event )
{
if(event->QEvent::WindowStateChange) {
event->ignore();
}
}
这会过滤所有窗口状态更改,例如最大化。我只需要最小化事件。
event->ignore()
不会忽略任何事情。我也尝试了event->setAccepted(false)
,这也取消了事件。
答案 0 :(得分:3)
void accounts::event(QEvent *e)
{
if (e->type() == QEvent::WindowStateChange) {
if (isMinimized()) {
hide();
e->ignore();
} else {
e->accept();
}
}
QMdiSubWindow::event(e);
}