在 Ubuntu 10.4 上使用 Qt 4.6
我的 MainWindow 中有一个 QGraphicsView 中央小部件。每次程序切换到新级别(推箱子游戏)时,我都希望 MainWindow 调整到新的视图大小。我主要通过将主窗口和视图的最大和最小宽度/高度设置为相同的值来实现这一点,这在大多数情况下都有效,但在某些较小的级别上,MainWindow 仅在一维上缩小,并留下白色边距一侧像这样:
在我单击视图之前,它一直保持这种状态,此时 MainWindow 缩小到视图。我可以在此之前输入击键来移动我的人并执行其他命令,并且边距将保持不变,只需单击鼠标即可缩小它。我想出了一个hackish修复
move( geometry().x() + 1, geometry().y() ); // force mainWindow to update
move( geometry().x() - 1, geometry().y() ); // hackish but only thing that works
但这似乎很蹩脚,很可能不便携,尽管我不确定这个问题是否存在于其他平台上。有任何想法吗?