Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterウィジェットをウィンドウ中央に配置する方法


Tkinterのウィジェットは、幅、高さ、位置、背景色などの各種プロパティを指定することで自由にカスタマイズできます。ウィジェットの位置を正確に制御したい場合は、place()ジオメトリマネージャを使用し、anchor(アンカー)プロパティを指定します。anchorには「NW」「N」「NE」「W」「CENTER」「E」「SW」「S」「SE」の9つの値を設定でき、これによりウィジェットの基準となる位置を決定できます。

サンプルコード

以下の例では、Labelウィジェットのanchorプロパティに「CENTER」を指定することで、ウィンドウの中央に強制的に配置しています。また、relxとrelyに0.5を設定することで、ウィンドウの幅・高さそれぞれ50%の位置を基準点としています。

#必要なライブラリをインポート
from tkinter import *

#Tkinterフレームのインスタンスを作成
win = Tk()

#ウィンドウサイズを設定
win.geometry("700x350")

#ウィンドウのデフォルトの背景色を設定
win.config(bg='#4fe3a5')

#ラベルを作成し、ウィンドウ中央に配置
Label(win, text = "Hello World!", font= ('Helvetica 25 bold')).place(relx=.5, rely=.5,anchor= CENTER)
win.mainloop()

実行結果

上記のコードを実行すると、緑色の背景を持つウィンドウが表示され、その中央に「Hello World!」というテキストのLabelウィジェットが配置されていることが確認できます。

Tkinterウィジェットをウィンドウ中央に配置する方法

  1. Python Tkinterでキャンバス上の画像を中央に配置する方法

    Tkinterを使ってGUIアプリケーションを開発している際、Tkinterのキャンバス(Canvas)上に画像を読み込みたいケースはよくあります。本記事では、その画像をキャンバスの中央に配置する方法を解説します。anchorパラメータとはデフォルトでは、キャンバスは画像を自身の幅と高さに従って配置します。しかし、anchor(アンカー)パラメータに方向の値を渡すことで、画像の位置を任意の方向(N:北、S:南、E:東、W:西、NS、EWなど)に操作できます。アンカーは画像関数と一緒に呼び出されるパラメータで、キャンバス内における画像の方向や位置を定義します。このanchorパラメータを活用すれ

  2. Tkinterウィジェットの片側だけにパディングを追加する方法

    特定のウィジェットの片側(上下または左右のいずれか)にのみパディング(余白)を追加したいケースはよくあります。Tkinterでは、pack()メソッドとgrid()メソッドを使うことで、このような部分的なパディングを簡単に実現できます。 pack()メソッドとgrid()メソッドの違い pack()メソッドでは、「padx」(左右の余白)と「pady」(上下の余白)の値を個別に定義します。これにより、水平方向と垂直方向それぞれに異なるパディングを柔軟に設定できます。 一方、grid()メソッドの場合は、X軸方向とY軸方向のパディングを表す2つのタプル(x と y)を指定するだけで、任意の軸まわ