Maybe you can use a QDialog with no frame and a transparent background instead of a widget? If this animation widget is not displayed all the time, but only when the player gets a bonus or some other special event occurs, then you could use a QDialog that contains a QTimer with a timeout() signal connected to the QDialog's close() slot. In the dialog's showEvent(), start the timer. When the timer times out, the dialog will be closed. If you make the main window the dialog's parent, it will be centered in the main window but will not change the layout because it is independent of the layout. You can make the dialog any size you want, so it could cover the entire main window or just part of it.