TkinterのボタンでPythonアプリケーションを終了する方法
Tkinterで作成したGUIアプリケーションを、ボタンのクリックひとつで終了できると便利です。この記事では、Tkinterのボタンを使ってPythonプログラム(ウィンドウ)を終了させる手順を、サンプルコード付きでわかりやすく解説します。
実装の手順
tkinterライブラリをインポートし、tkinterフレーム(ウィンドウ)のインスタンスを作成します。
geometry()メソッドを使って、ウィンドウのサイズを設定します。
ウィンドウを閉じるためのclose()関数を定義します。関数の中でwin.destroy()メソッドを呼び出します。
ボタンを作成し、クリック時にclose()関数が呼ばれるよう設定します。
最後に、アプリケーションウィンドウのmainloop()を実行して、イベントループを開始します。
サンプルコード
# ライブラリをインポート
from tkinter import *
# ウィンドウのインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("700x350")
# ウィンドウのタイトルを設定
win.title("ボタンをクリックしてウィンドウを閉じる")
# ウィンドウを閉じる関数を定義
def close():
# win.destroy()
win.quit()
# close()を呼び出すボタンを作成
Button(win, text="ウィンドウを閉じる", font=("Calibri",14,"bold"), command=close).pack(pady=20)
win.mainloop()
実行結果
上記のコードを実行すると、次のようなウィンドウが表示されます。

ボタンをクリックすると、ウィンドウが閉じてアプリケーションが終了します。
destroy()とquit()の違い
サンプルコードではwin.destroy()の代わりにwin.quit()を使ってもアプリケーションを閉じることができます。しかし、この2つのメソッドには微妙ながら重要な違いがあります。
win.quit():アプリケーションを即座に終了します。ただし、mainloop自体はバックグラウンドで動き続けるため、プログラムが完全には終了しない場合があります。
win.destroy():mainloopを正しく終了させるとともに、ウィンドウ内のすべてのウィジェットを破棄します。通常はこちらを使うのが安全です。
用途に応じて使い分けることで、意図した通りの終了処理を実現できます。
-
Python Tkinterでメッセージボックスの表示位置を変更する方法
Tkinterを使ってダイアログボックスを作成したい場合、MessageBoxライブラリを利用すると、さまざまな種類のダイアログを手軽に生成できます。作成したダイアログボックスの位置を調整するには、Toplevelウィジェットを使用します。Toplevelは、現在のウィンドウを最前面に優先表示し、他の処理をバックグラウンドで維持する役割を持ちます。さらに、title(タイトル)、message(メッセージ)、details(詳細)といった機能も備えています。メッセージボックスウィジェットの表示位置を変更するには、geometryメソッドを使います。コード例# tkinterライブラリをインポー
-
Pythonのtkinterで簡単なGUI電卓アプリを作る方法【初心者向け】
はじめにPythonでは、tkinterライブラリを使ってGUIコンポーネントを作成し、より使いやすいユーザーインターフェースを構築することができます。この記事では、tkinterとPillow(PIL)を組み合わせて、アイコン付きのシンプルなGUI電卓アプリケーションを作成する方法を、初心者向けに丁寧に解説していきます。事前準備開発を始める前に、いくつか準備しておくべきことがあります。まず、ローカルシステムから画像ファイルを読み込むために使用するPythonの画像処理ライブラリをインストールしましょう。PIL(Pillow)をインストールするには、ターミナルを起動して以下のコマンドを実行して