【问题标题】:Filter minimize event过滤最小化事件
【发布时间】:2012-07-28 06:29:08
【问题描述】:

我有一个QMdiSubWindow,我需要过滤最小化事件,以便我可以简单地hide() 窗口。

我尝试了以下方法:

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

这会过滤所有窗口状态更改,例如最大化。我只需要最小化事件。

event->ignore() 不会忽略任何东西。我还尝试了event->setAccepted(false),在取消事件方面也没有成功。

【问题讨论】:

    标签: c++ qt mdi qevent


    【解决方案1】:
    void accounts::event(QEvent *e)
    {
      if (e->type() == QEvent::WindowStateChange) {
        if (isMinimized()) {
          hide();
          e->ignore();
        } else {
          e->accept();
        }
      }
      QMdiSubWindow::event(e);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      相关资源
      最近更新 更多