Я folllowing кусок пирогазакрытия PyQT MessageBox с CloseEvent родительского окна
def __init__():
self._taskInProgress = threading.Event()
def isFinished(self):
self._taskInProgress.clear()
self.progressBar.hide()
self.close()
def closeEvent(self, event):
if self._taskInProgress.is_set():
reply = QtGui.QMessageBox.question(self, "Are you sure you want to quit? ",
"Task is in progress !",
QtGui.QMessageBox.Yes,
QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
проблема, если кто-то закрывает родительское окно (т.е. само) выше подсказка появляется, но если кто-то не делает нажмите да или нет в этом окне сообщения, родительское окно не закрывается.
Так как я должен добиться того, что когда задача завершает QMessageBox
(т.е. ответа) также закрыта iteslef, как вызов reply.close()