Ответ:
После вызова MainWindow :: show (), затем получите размер.
Описание:
У меня была та же проблема, что и у Питера. В конструкторе виджета, таком как MainWindow :: MainWindow (), вы не можете получить правильный размер виджета, такого как QGraphicsView в Grid Layout, потому что в этом конструкторе размер и расположение виджета не определены. Поэтому в MainWindow :: MainWindow () вы должны вызвать show (), а затем получить размер представления или другого виджета.