如何禁用 QSplashScreen 的默认 "click-to-dismiss" 行为?

How do I disable the default "click-to-dismiss" behaviour of QSplashScreen?

我正在使用 QSplashScreen 来免费获得一些所需的行为:图像显示、居中、简单无框。

问题是对于我的用例,我不希望点击图像关闭屏幕。

我已经尝试重写 eventFilter,正如很多关于这种行为的 c++ 帖子所建议的那样,但是在 PySide 2.x.x / Qt5 中永远不会调用该方法。

class MySplashScreen(QtWidgets.QSplashScreen):
    def __init__(self, my_pixmap):
        super(MySplashScreen, self).
            __init__(my_pixmap, QtCore.Qt.FramelessWindowHint)

        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint |
                            QtCore.Qt.FramelessWindowHint)

    def eventFilter(self, object, event):
        print("never called")

我还缺少其他简单的东西吗?

为了我的目的,我所要做的就是覆盖 mousePressEvent() 并传递。

def mousePressEvent(self, event):
    # disable default "click-to-dismiss" behaviour
    pass

这会阻止点击关闭屏幕,但不会影响我放置在初始屏幕上方的 UI 元素上的鼠标事件,因此它勾选了我的所有框。