当我增加左码头区域大小(手动)主窗口也增加其大小。但它没有限制!它可以比屏幕尺寸更宽。我想阻止它。我尝试重新实现主窗口的resizeEvent()方法。这就是我的尝试。
void MyMain::resizeEvent(QResizeEvent *e)
{
if (newMainWindowWidth > screenWidth)
{
leftDockWindow->setFixedExtentWidth(
leftDockWidth - (newWidth - screenWidth));
leftDockWindow->adjustSize();
adjustSize(); // flicker effect :(
}
}
这是有效的。但它有一个闪烁效果,因为我再次调整大小。我认为我可以通过忽略这个事件来解决这个问题。但我找不到办法做到这一点。请帮忙 !!感谢。
答案 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);;
}
}