我正在使用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")
我还缺少其他简单的东西吗?
答案 0 :(得分:0)
出于我的目的,我要做的就是重写mousePressEvent()并传递。
def mousePressEvent(self, event):
# disable default "click-to-dismiss" behaviour
pass
这阻止了点击消除屏幕,但是并没有影响我在初始屏幕上方放置的UI元素上的鼠标事件,因此它打勾了我所有的框。