Google though I tried, I cannot seem to figure out how to get rid of the white border I’m getting around a png I’m serving to a QSplashScreen.
I’ve seen this article, but I don’t know how to translate that to PyQt, or whether that’s even what I want.
I’ve even tried setting a black and white mask separately which achieved a low-quality result with lots of dots everywhere.
Has anybody figured out the magical translucent/semi-transparent SplashScreen that you can also feed text data to, ala the showMessage command? Thanks in advance.
I should mention this is Windows 7 as well.
The following are both a test PNG that I’m using as the splash image as well as the resulting ugly white border I get with it:


An alternate method of providing a black and white alpha through QBitmap yields this closer, but uglier example with strange dots abound. The code and images follow.
splash_pix = QPixmap(":/images/images/PyQtSplash.png")
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.setMask(QBitmap(QPixmap(":/images/images/PyQtSplashAlpha.jpg")))


So long as you use an image with clean transparent areas, it should only be necessary to pass a mask of it to
QSplashScreen.setMask.This script works as expected for me on Linux:
EDIT
This custom SplashScreen class should produce reasonable results on both Linux and Windows: