Tkinterのgrid()でウィジェットを水平方向に中央揃えする方法
Tkinterのgridジオメトリマネージャとは
名前のとおり、グリッド(grid)とは行と列の集合のことです。Tkinterのgridマネージャも同様に動作し、ウィジェットを2次元平面状に配置することで、縦・横の位置をきれいに整列させることができます。
ここでは、「ウィンドウをリサイズしてもウィジェットが常に中央に表示される」状態を作る例を紹介します。grid(row, column)プロパティでラベルウィジェットを水平方向に中央揃えにし、rowconfigure/columnconfigureのweight設定とstickyプロパティを組み合わせることで、リサイズ時にもウィジェットの位置が崩れないようにします。
コード例
# tkinterライブラリをインポート
from tkinter import *
# Tkinterフレーム(ウィンドウ)のインスタンスを作成
win = Tk()
# フレームのサイズを設定
win.geometry("750x250")
# 行・列がウィンドウに追従して伸縮するよう設定
win.grid_rowconfigure(0, weight=1)
win.grid_columnconfigure(0, weight=1)
# ラベルを作成
label = Label(win, text="This is a Centered Text", font=('Aerial 15 bold'))
label.grid(row=2, column=0)
label.grid_rowconfigure(1, weight=1)
label.grid_columnconfigure(1, weight=1)
win.mainloop()ポイント解説
grid_rowconfigure()やgrid_columnconfigure()で指定しているweight=1は、ウィンドウがリサイズされたときにその行・列も一緒に拡大・縮小することを意味します。この設定により、余白が均等に分配され、結果としてウィジェットが常に中央に配置される仕組みです。
実行結果
上記のコードを実行すると、テキストラベルが水平方向に中央揃えされたウィンドウが表示されます。ウィンドウのサイズを変更しても、ラベルの位置は中央のまま維持されます。

-
Tkinterでスプラッシュ画面を作成する方法をわかりやすく解説
アプリケーションを起動した際に一瞬だけ表示される「スプラッシュ画面」。ロゴや読み込み中表示などを映し出すことで、アプリに洗練された印象を与えられます。Pythonの標準GUIライブラリであるTkinterを使えば、このスプラッシュ画面も簡単に実装できます。スプラッシュ画面作成の基本手順Tkinterでスプラッシュ画面を作成するには、以下の手順に従います。ラベルなどを配置したスプラッシュ画面を作成するoverrideredirectメソッドを使って、スプラッシュ画面を枠なし(ボーダーレス)にするスプラッシュ画面の直後に表示されるメインウィンドウを生成する関数を定義するafterメソッドを使って、
-
tkinterでウィンドウを閉じる方法|destroy()メソッドの使い方を解説
tkinterを使えば、Pythonで手軽にGUIアプリケーションを作成できます。しかし、タイトルバー右上の×ボタン以外の方法でウィンドウやフレームを閉じたい場合、どのように実装すればよいか悩むこともあるでしょう。そのようなときに役立つのが、ウィンドウを破棄して閉じるための .destroy() メソッドです。tkinterの各ウィジェットや属性は互いに独立しているため、「ウィンドウを閉じる処理」を専用の関数として分離して定義できます。これにより、ボタンのクリックイベントからウィンドウを閉じる動作を自由に制御可能です。サンプルコード# ライブラリをインポート from tkinter impo