You have set the maximum size to be less than that of your desktop size. So when you try to maximise the widget, you are asking the widget to go beyond the maximum size you set it - so it ignores you.
Presumably newWidget->maximumWidth() * 2
works because that figure is larger than your desktop size.