Ви повинні використовувати, destroy()
щоб закрити вікно tkinter.
from Tkinter import *
root = Tk()
Button(root, text="Quit", command=root.destroy).pack()
root.mainloop()
Пояснення:
root.quit()
Вище лінії тільки Пропускаєroot.mainloop()
тобто по- root.mainloop()
, як і раніше буде працювати у фоновому режимі , якщо quit()
команда буде виконана.
root.destroy()
Поки destroy()
команда зникає, root.mainloop()
тобто root.mainloop()
зупиняється.
Отож, як ви просто хочете вийти з програми, ви повинні використовувати root.destroy()
її, оскільки вона зупинить mainloop()
.
Але якщо ви хочете запустити якийсь нескінченний цикл, і ви не хочете знищувати своє вікно Tk і хочете виконати якийсь код після root.mainloop()
рядка, тоді вам слід це використовувати root.quit()
. Приклад:
from Tkinter import *
def quit():
global root
root.quit()
root = Tk()
while True:
Button(root, text="Quit", command=quit).pack()
root.mainloop()