Я использую окно Tkinter, чтобы визуализировать некоторые результаты моей программы. Окно имеет резьбу (см. Базовую структуру ниже) и в основном работает довольно хорошо. Пока у меня только проблемы с закрытием окна. Когда я нажимаю кнопку «X», чтобы закрыть окно, оно работает.
Однако, когда я вызываю метод Monitor.close () из основной программы, которая запускает поток монитора, окно просто зависает (например, не реагирует на нажатие кнопки «X»), и монитор потока сохраняет Бег. Таким образом, основная программа не выходит.
Итак, на данный момент я также должен сначала закрыть окно «вручную», нажав кнопку закрытия, а затем основную программу. Не большая проблема, но было бы здорово, если бы основная программа могла сама закрывать окно. Есть намеки?
Спасибо и всего наилучшего,
Christian
class Monitor(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.start()
def close(self):
self.root.quit()
self.root.destroy()
def run(self):
self.root=Tkinter.Tk()
self.root.protocol("WM_DELETE_WINDOW", self.close)
self.root.mainloop()