我正在使用PyQt5和Python3编写程序。 显示弹出窗口时,我正在使用QGraphicsBlurEffect对主窗口小部件进行模糊处理。 问题在于,当关闭弹出窗口时,模糊效果仍在主窗口小部件上,并且无法正常显示。关闭弹出窗口后如何将其设置为正常?(在关闭弹出窗口时将mainwindow的graphicsEffect设置为None,但它没有任何改变)。
这是代码:
主窗口小部件:
self.blureffect = QGraphicsBlurEffect(self) #defining the effect
def fontpgshow(self): #shows the popup window
self.setGraphicsEffect(self.blureffect) #puts the blur effect on the main widget
#the 3 bottom lines show the popup window
import fontwindow
self.fontpg = fontwindow.fontpage()
self.fontpg.show()
弹出窗口:
def closeEvent(self,event):
event.accept()
#in the bottom lines I set the effect of main window to None
import settingswindow
self.setpg = settingswindow.settingspage()
self.setpg.setGraphicsEffect(None)
答案 0 :(得分:0)
我通过将弹出式窗口的类型从QWidget
更改为QDialog
解决了我的问题,并在self.accept()
中使用了self.reject()
和QDialog
发送信号到主窗口小部件,这里是设置页面。收到信号后,我将主窗口小部件的图形效果设置为None
,现在一切正常。