>I have an application with several threads, one of which is a PyQT GUI,
>when I click on the close button, the PyQT GUI closes but the rest of
>the application keeps running, I would like to be able to intercept the
>close button event and force the whole application to quit.
>Does anybody know how I might do this?

Either: 1) subclass QApplication and re-implement exit() or 2) subclass
QMainWindow and re-implement the QMainWindow close() method--the latter
assumes you're using a QMainWindow or subclassed QMainWindow as the
top-level widget. If you're using a QDialog or something else, the relevant
methods would have to be fussed with. I usually go with subclassing
QApplication, since it will catch more than just a safe close() call to the
top-level widget (e.g. a qFatal error in one of the threads). There are
times when it would be necessary to subclass a child widget's close()
method, such as if that widget (e.g. a modal QDialog or an MdiSubWindow)
launched some helper threads. Otherwise, the QApplication.exit() route is
probably better.

-- Jon Harper

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to