如何忽略Qt3中的resize事件?

时间:2012-03-15 04:24:47

标签: c++ qt user-interface qt3

当我增加左码头区域大小(手动)主窗口也增加其大小。但它没有限制!它可以比屏幕尺寸更宽。我想阻止它。我尝试重新实现主窗口的resizeEvent()方法。这就是我的尝试。

void MyMain::resizeEvent(QResizeEvent *e)
{
     if (newMainWindowWidth > screenWidth)
     {
          leftDockWindow->setFixedExtentWidth(
                   leftDockWidth - (newWidth - screenWidth));
          leftDockWindow->adjustSize();
          adjustSize(); // flicker effect :(
     }
}
这是有效的。但它有一个闪烁效果,因为我再次调整大小。我认为我可以通过忽略这个事件来解决这个问题。但我找不到办法做到这一点。请帮忙 !!感谢。

1 个答案:

答案 0 :(得分:0)

解决方案是......

bool MyClass::eventFilter(QObject *obj, QEvent *e)
{
    if (e->type() == QEvent::Resize)
    {
        if (obj == myObj)
        {
            doSomethingWithObj(); 
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        return QWidget::eventFilter(obj, e);;
    }
}