1. ホーム
  2. python

[解決済み] tkinterのウィンドウを閉じるにはどうしたらよいですか?

2022-02-18 16:46:44

質問内容

Tkinterのプログラムはどのように終了させるのですか?例えば、こんなコードがあったとします。

from Tkinter import *

def quit():
    # code to exit

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

をどのように定義すればよいのでしょうか? quit 関数でアプリケーションを終了させることができますか?

解決方法を教えてください。

を使用する必要があります。 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()
    #do something