closeEvent вызывается, когда окно закрывается.
В плюсовом девичестве это - виртуальная функция, подписываться не нужно.
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwidget.html#closeEventМожно рисовать progress bar или еще что, если закрытие долгое.
Или, как в доке, запросить подтверждение.
Если у нас на три потока сто заданий, и при этом окно закрывается - лучше быстро отменить всё, что не успело начать обрабатываться - иначе ждать долго придется. pending существует только для того, чтобы знать, кто еще не обработался, но в очередь уже поставлен.