Эээ... вроде есть уже давно QGraphicsLayout. Ну и
статья с демонстрационным видео
Тут как раз тоже самое и сделано
Animated Layout Proxy that sits between the Layout and each of the child widgets
The trick here is that rather than sending the geometry change request immediatelly, the Proxy creates a QAnimation from the former state to the new one.
На QGraphicsLayout'е конечно это все побыстрее работать должно...
Ну и пример там "поживописнее".