Использование Qt 4.6 в Ubuntu 10.4
У меня есть центральный виджет QGraphicsView в моем MainWindow.Каждый раз, когда программа переключается на новый уровень (игра Sokoban), я хочу, чтобы главное окно адаптировалось к новому размеру представления.Я в основном достигал этого, устанавливая максимальную и минимальную ширину / высоту главного окна и вида на одно и то же, и это работает большую часть времени, но на некоторых меньших уровнях MainWindow сжимается только в одном измерении и оставляет белое поле нас одной стороны вот так:
Так будет до тех пор, пока я не нажму на вид, и в этот момент MainWindow сжимается до вида.Я могу вводить нажатия клавиш до этого, чтобы переместить моего парня и выполнить другие команды, и поле останется, для его сжатия требуется щелчок мыши.Я придумал хакерское исправление на
move( geometry().x() + 1, geometry().y() ); // force mainWindow to update
move( geometry().x() - 1, geometry().y() ); // hackish but only thing that works
, но это кажется слабым и, скорее всего, не переносимым, хотя я не уверен, что эта проблема существует на других платформах.Есть идеи?