2012-07-28 44 views
1

我有一個QMdiSubWindow,我需要過濾最小化事件,以便我可以簡單地hide()窗口。過濾器最小化事件

我曾嘗試以下:

void accounts::changeEvent (QEvent *event) 
{ 
    if(event->QEvent::WindowStateChange) { 
      event->ignore(); 
    } 
} 

此過濾器所有窗口狀態的改變,如最大化。我只需要最小化事件。

event->ignore()不會忽略任何東西。我也試過event->setAccepted(false),這在取消事件方面也不成功。

回答

3
void accounts::event(QEvent *e) 
{ 
    if (e->type() == QEvent::WindowStateChange) { 
    if (isMinimized()) { 
     hide(); 
     e->ignore(); 
    } else { 
     e->accept(); 
    } 
    } 
    QMdiSubWindow::event(e); 
} 
+1

sorta現在就工作,謝謝 – 2012-07-28 07:32:26