Python 如何在PyQt5中同时使用Qt.FramelessWindowHint和setWindowModal(Qt.ApplicationModel)?
我有一个GUI应用程序,当按下按钮时会打开一个对话框窗口。为了自定义对话框窗口的外观,我使用了Qt.FramelessWindowHint。问题是,我必须在对话框窗口内使用线程/多处理来完成一些任务,这些任务可能需要大约10秒才能完成并生成我需要的输出,以便执行进一步的任务。这会使GUI在这段时间内没有响应,如果在其他小部件上单击过多鼠标,GUI就会崩溃。由于对话框窗口中只有几个小部件,我将禁用它们以防止“窗口无响应”错误和崩溃,但是主应用程序窗口有很多小部件要禁用,如果我将来添加更多,此方法将无法很好地扩展。因此,我需要对话框是模态的,这样应用程序窗口自然地被操作系统禁用。但是将Python 如何在PyQt5中同时使用Qt.FramelessWindowHint和setWindowModal(Qt.ApplicationModel)?,python,pyqt5,Python,Pyqt5,我有一个GUI应用程序,当按下按钮时会打开一个对话框窗口。为了自定义对话框窗口的外观,我使用了Qt.FramelessWindowHint。问题是,我必须在对话框窗口内使用线程/多处理来完成一些任务,这些任务可能需要大约10秒才能完成并生成我需要的输出,以便执行进一步的任务。这会使GUI在这段时间内没有响应,如果在其他小部件上单击过多鼠标,GUI就会崩溃。由于对话框窗口中只有几个小部件,我将禁用它们以防止“窗口无响应”错误和崩溃,但是主应用程序窗口有很多小部件要禁用,如果我将来添加更多,此方法将
Qt.FramelessWindowHint
与setWindowModal(Qt.applicationModel)
一起使用是不起作用的。有人能提出解决办法吗?其他方式也受欢迎。多谢各位
类psDialog(qtwidts.QDialog):
def _;初始化__;(自我,mainWin):
qtwidts.QDialog.\uuuuu init\uuuuuu(self,mainWin)
self.main=mainWin
uic.loadUi(“psDialog.ui”,self)
self.setWindowFlags(Qt.customizeWindowint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
self.setWindowModal(Qt.applicationModel)
这是显示对话框的部分:
def psLabelPressed(自身,事件):
全局对话框OpenFlag
如果dialogOpenFlag==False:
psd=psDialog(自)
dialogOpenFlag=True
psd.show()
请提供一个