Tkinterで画面サイズ(幅・高さ)を取得する方法をわかりやすく解説
Tkinterでは、まずすべてのウィジェットやフレームが表示されるためのウィンドウ(フレームオブジェクト)を作成します。そして、geometry()メソッドなどで指定したユーザー定義のジオメトリ情報に基づいて、ウィンドウのサイズや位置が調整されます。
ここで「デスクトップ全体の画面サイズ」を取得したい場合には、Tkinterが標準で提供している以下の2つのメソッドが便利です。
- winfo_screenwidth() … 画面の幅をピクセル単位で返す
- winfo_screenheight() … 画面の高さをピクセル単位で返す
これらのメソッドは、メインモニター(プライマリディスプレイ)の解像度を取得します。マルチモニター環境の場合は、メインディスプレイのサイズが返される点に注意してください。
サンプルコード
次の例では、画面の幅と高さを取得し、コンソールに出力しています。
# 必要なライブラリをインポート
from tkinter import *
# tkinterフレームのインスタンスを作成
win = Tk()
# フレームのジオメトリ(ウィンドウサイズ)を設定
win.geometry("650x250")
# 現在の画面の幅と高さを取得
screen_width = win.winfo_screenwidth()
screen_height = win.winfo_screenheight()
# 画面サイズを出力
print("Screen width:", screen_width)
print("Screen height:", screen_height)
win.mainloop()実行結果
このコードを実行するとウィンドウが表示され、同時にコンソールに画面サイズが出力されます。
Screen width: 1366 Screen height: 768
応用:取得した画面サイズの活用例
取得した画面サイズは、以下のような場面で活用できます。
- アプリケーションのウィンドウを画面中央に配置する
- 画面全体に合わせたフルスクリーン表示を行う
- 画面サイズに応じてウィジェットのレイアウトを動的に調整する
たとえば、win.geometry(f"{screen_width}x{screen_height}")のように記述すれば、ウィンドウを画面いっぱいに広げることも可能です。
-
Tkinterでウィジェットの現在のX・Y座標を取得する方法
Tkinterは、PythonでGUIアプリケーションを開発するために広く利用されている標準ライブラリです。ボタン、テキストボックス、ラベルなど、さまざまなウィジェットが用意されており、これらを組み合わせることで直感的なユーザーインターフェースを構築できます。さらに、ウィジェットの配置位置や座標も、専用の関数やライブラリを使って柔軟にカスタマイズすることが可能です。ここでは、Tkinterフレーム上に配置したウィジェットの実際の座標を取得する方法を紹介します。ウィジェットの正確な座標を知りたい場合には、Tkinterライブラリが提供するgeometry(ジオメトリ)関連のメソッドを活用します。
-
Python Tkinterでルートウィンドウを非表示・破棄する2つの方法
Tkinterアプリケーションのテスト中に、デフォルトのウィンドウやフレームを一時的に隠したい、あるいは完全に閉じたいという場面に遭遇することがあります。Tkinterでは、withdraw()メソッドによる「非表示」と、destroy()メソッドによる「破棄」の2つのアプローチが用意されています。mainloop()とウィンドウのライフサイクルmainloop()は、外部イベントによってウィンドウが閉じられるまで、Tkinterアプリケーションを実行し続ける役割を担います。このメインループが動作している間、ウィンドウは画面上に表示され続けます。ウィンドウを完全に破棄(終了)したい場合は、de