В вашем paintEvent вы заставляете изображение рисовать до 500x600 пикселей, но не назначаете фиксированный размер виджету. Так что, если виджет меньше, чем вы, вы не можете увидеть полное изображение. Если вы делаете setFixedSize (500, 600), это должно решить вашу проблему.
Вы также делаете
setSizePolicy (QSizePolicy (QSizePolicy :: Fixed, QSizePolicy :: Fixed));
в главном окне. Вы даете фиксированный размер помимо установки политики размера? Если политика размера фиксирована, вы должны указать размер окна.
Также я думаю, что вы можете вызвать setSizePolicy (QSizePolicy :: Fixed); непосредственно.