Tkinter ウィンドウを閉じるにはどうすればいいですか? 質問する

Tkinter ウィンドウを閉じるにはどうすればいいですか? 質問する

Tkinter プログラムを終了するにはどうすればよいでしょうか? 次のコードがあるとします:

from Tkinter import *

def quit():
    # code to exit

root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()

quitアプリケーションを終了する関数をどのように定義すればよいですか?

ベストアンサー1

destroy()Tkinter ウィンドウを閉じるには を使用する必要があります。

from Tkinter import * 
#use tkinter instead of Tkinter (small, not capital T) if it doesn't work
#as it was changed to tkinter in newer Python versions

root = Tk()
Button(root, text="Quit", command=root.destroy).pack() #button to close the window
root.mainloop()

説明:

root.quit()

上記の行はバイパスつまりroot.mainloop()root.mainloop()まだ実行されているバックグラウンドでコマンドが実行された場合quit()

root.destroy()

destroy()コマンドが消えるroot.mainloop()、つまり停止する間root.mainloop()<window>.destroy() 完全に破壊し、閉じる窓。

したがって、プログラムを終了して完全に閉じたい場合は、 を使用する必要があります。root.destroy()これは、 を停止しmainloop()、ウィンドウとそのすべてのウィジェットを破棄します。

しかし、無限ループを実行し、Tkinter ウィンドウを破壊せずに行の後にコードを実行したい場合は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()
    #do something

見るroot.destroy() と root.quit() の違いは何ですか?

おすすめ記事