I dont know about Qpixmap::load. but in your previous code you creating a new object and not deleteing old object. so it will create a copy of new widget.
mainly whenever you create a new widget then delete or close old widget.