Hello everyone,
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.