HOWTO · Tkinter

ボタンを使って Tkinter ウィンドウを閉じる

この記事では、どのようにボタンの命令を使用して Tkinter ウィンドウを閉じることを紹介します。

ユーザーが Tkinter ボタンをクリックすると、ボタンに付加された関数またはコマンドを使って Tkinter GUI を閉じることができます。

root.destroy() クラスメソッドで Tkinter ウィンドウを閉じる

try:
    import Tkinter as tk
except:
    import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("100x50")
        button = tk.Button(self.root, text="Click and Quit", command=self.quit)
        button.pack()
        self.root.mainloop()

    def quit(self):
        self.root.destroy()


app = Test()

destroy() はウィンドウを閉じるために使用します。

Tkinter ボタンでウィンドウを閉じます

destroy() 非クラスメソッドで Tkinter ウィンドウを閉じる

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")


def close_window():
    root.destroy()


button = tk.Button(text="Click and Quit", command=close_window)
button.pack()

root.mainloop()

root.destroy 関数をボタンの command 属性に直接関連付ける

追加の close_window 関数を定義せずに、root.destroy 関数を button command プロパティに直接バインドできます。

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")

button = tk.Button(text="Click and Quit", command=root.destroy)
button.pack()

root.mainloop()

root.quit は Tkinter ウィンドウを閉じる

root.quit は Tkinter ウィンドウを終了するだけでなく、Tcl インタプリタ全体を終了します。

Tkinter アプリケーションが Python Idle から起動されていない場合、このメソッドを使用できます。Tkinter アプリケーションを Idle から呼び出す場合、root.quit を使用することを勧めません。なぜなら、quit は Tkinter アプリケーションを殺すだけでなく、Idle 自体も殺します。

try:
    import Tkinter as tk
except:
    import tkinter as tk

root = tk.Tk()
root.geometry("100x50")

button = tk.Button(text="Click and Quit", command=root.quit)
button.pack()

root.mainloop()