0

左のドック領域のサイズを (手動で) 大きくすると、メイン ウィンドウのサイズも大きくなります。しかし、それは制限がありません!. 画面サイズよりも広くなる可能性があります。防ぎたい。メインウィンドウの resizeEvent() メソッドを再実装してみました。これは私が試したことです。

void MyMain::resizeEvent(QResizeEvent *e)
{
     if (newMainWindowWidth > screenWidth)
     {
          leftDockWindow->setFixedExtentWidth(
                   leftDockWidth - (newWidth - screenWidth));
          leftDockWindow->adjustSize();
          adjustSize(); // flicker effect :(
     }
}

これは機能します。しかし、サイズを再度調整しているため、ちらつき効果があります。イベントを無視することで解決できると思います。しかし、私はそれを行う方法を見つけることができません。助けてください !!ありがとう。

4

1 に答える 1

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);;
    }
}
于 2012-03-21T09:14:14.550 に答える