У меня проблема с моим приложением при закрытии GUI, разработанного в PyQt5.
В моем приложении есть 3 отдельных потока, и один из них использует сигналы слотов для связи с GUI.
Проблема, с которой я столкнулся, заключается в том, что когда я закрываю GUI и выполняется команда sys.exit(app.exec_())
, GUI закрывается, но программа python все еще существует в диспетчере задач ( Я на Windows).
Это код, который запускает потоки и завершает 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_())
Как я могу также прекратить все потоки из диспетчера задач после завершения GUI?
Заранее спасибо.