ボタンを使って Tkinter ウィンドウを閉じる
-
root.destroy()
クラスメソッドで Tkinter ウィンドウを閉じる -
destroy()
非クラスメソッドで Tkinter ウィンドウを閉じる -
root.destroy
関数をボタンのcommand
属性に直接関連付ける -
root.quit
は 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()
はウィンドウを閉じるために使用します。
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()
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn