【初心者向け】Python Tkinterのdestroy()メソッドでウィジェットを破棄する方法
Tkinterのdestroy()メソッドは、ウィジェットを破棄(削除)するためのメソッドです。相互に依存関係にある複数のウィジェットの挙動を制御したい場合に特に役立ちます。
また、ユーザーの操作によって一連の処理が完了した後には、GUIコンポーネントを破棄してメモリを解放し、画面をきれいに片付ける必要があります。destroy()メソッドを使えば、こうした処理をすべて簡単に実現できます。
destroy()メソッドの基本的な使い方
以下の例では、画面上に3つのボタンを配置しています。
- 1つ目のボタン:クリックするとウィンドウ自体を閉じます
- 2つ目のボタン:クリックすると1つ目のボタンを消します
- 3つ目のボタン:クリックすると2つ目のボタンを消します
このように、各ボタンが別のウィジェットを破棄するという連鎖的な動作を、destroy()メソッドで実現しています。
サンプルコード
from tkinter import * from tkinter.ttk import * # tkinterウィンドウの作成 base = Tk() # ウィンドウ自体を閉じるボタン button_1 = Button(base, text = "I close the Window", command = base.destroy) # ボタンの外側に余白を設定 button_1.pack(pady = 40) # 1つ目のボタンを消すボタン button_2 = Button(base, text = "I close the first button", command = button_1.destroy) button_2.pack(pady = 40) # 2つ目のボタンを消すボタン button_3 = Button(base, text = "I close the second button", command = button_2.destroy) button_3.pack(pady = 40) mainloop()
実行結果
上記のコードを実行すると、次のような画面が表示されます。

それぞれのボタンをクリックすると、コード内で定義したとおり、クリックしたボタンに応じて異なるウィジェット(ウィンドウまたは他のボタン)が破棄される様子を確認できます。
まとめ
destroy()メソッドは、単一のウィジェットだけでなく、base.destroyのようにルートウィンドウに対して呼び出せばアプリケーション全体を終了させることも可能です。メモリリークを防ぎ、ユーザーの操作に応じて柔軟にGUIを制御したい場合に、ぜひ活用してみてください。
-
Python Tkinterのafter()メソッドの使い方を徹底解説
Tkinterは、PythonでGUIアプリケーションを作成するための標準ライブラリです。ウィンドウやボタン、ラベルなどのウィジェットを作成・操作するための組み込みメソッドが多数用意されており、データの表示やGUIイベントの処理を簡単に実装できます。本記事では、その中でも特に便利なafter()メソッドの使い方について、具体的なコード例とともに詳しく解説します。after()メソッドの基本構文.after(delay, FuncName=FuncName)このメソッドは、指定した遅延時間(ミリ秒単位)が経過した後に、引数として渡した関数FuncNameを呼び出します。タイマー処理や定期的な更新
-
Python Tkinterのgeometry()メソッド徹底解説!ウィンドウサイズと配置を自在に制御する方法
Pythonでは、標準ライブラリ「Tkinter」を使うことで、手軽にGUIアプリケーションを作成できます。TkinterにはGUI開発に役立つ多数のメソッドが用意されていますが、その中でもgeometry()メソッドは最も基本となる重要なメソッドの一つです。このメソッドを使うことで、作成するウィンドウのサイズや表示位置など、画面レイアウトに関するさまざまな属性を自由に設定できます。 geometry()メソッドとは geometry()メソッドは、ウィンドウの大きさを「幅x高さ」という形式の文字列で指定するためのメソッドです。サイズはピクセル単位で制御されるため、レイアウトを細かく調整したい