I have a problem with my app when closing the gui-UI, that is developed in PyQt5.
In my app I have 3 discrete threads and one of it using slot-signals for communicating with the gui.
The problem I have is that when I close the gui, and the command sys.exit(app.exec_()) is executed the gui closes but the python program still exists in the task manager (I am on Windows).
This is the code that starts the threads and terminates the gui :
if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) window = Ui() window.move(1600, 900) non_suppressed_monitor = keymonitor.KeyMonitor("non_suppressed_monitor", 1, False) non_suppressed_monitor.wordPressed.connect(window.on_word_pressed) non_suppressed_monitor.enable_disable_hotkey_pressed.connect(window.on_enable_disable_hotkey_press) non_suppressed_monitor.start_monitoring() suppressed_monitor = keymonitor.KeyMonitor("suppressed_monitor", 2, True) suppressed_monitor.start_monitoring() keymonitor.event_read_not_suppressed.set() thread_delete_and_rewrite = threading.Thread( target=corrector_and_rewriter.CorrectorAndRewriter.write_queue_to_screen, args=(), daemon=True) thread_delete_and_rewrite.start() sys.exit(app.exec_())
How can I terminate all threads from the task manager as well, upon the termination of the gui?
Thanks in advance.