Because that is what your code is doing:Why resizing remove the video and show transparent QLabel?
1. you fill the pixmap to be transparent
2. you then set this fully transparent pixmap as mask on the QLabel, so all the QLabel gets masked.
There are no regions in your pixmap which are not transparent.
The way you are misusing the resizeEvent() is not how things should be done in Qt, I am not even sure why it does work for you to the extent that it does, but I admit I didn't look deeper in to your code.
This will only make more trouble ahead.
Override paintEvent() for such operations.
Bookmarks