【Python/tkinter】Widgetの配置(place)

Tkinter place
スポンサーリンク
スポンサーリンク

PythonでGUIアプリを作成できるモジュールtkinter(ティーキンター)でWidget(ウィジェット)を配置するplaceについて解説します。

サンプルコードはモジュールのインポートを from tkinter import * としています。
関数を呼び出す際にパッケージ名の接頭辞 (tk.Frame()tk.)を省略できるのでおすすめです。

スポンサーリンク

place とは

placeはWidgetを座標を指定して配置する場合に使用します。

座標はウィンドウの左上を原点として、横をx、縦をyとしてWidgetの左上の位置を指定します。
以下はボタンを座標(60,50)で配置した例です。

コードは以下のようになります。


placeのオプション一覧

placeで指定可能なオプション一覧です。

オプション説明値の形式
x配置位置のx軸絶対座標ピクセル値
y配置位置のy軸絶対座標ピクセル値
relx座標を配置先の幅に対する相対的な位置で指定0.0(左端)~1.0(右端)
rely座標を配置先の高さに対する相対的な位置で指定0.0(上端)~1.0(下端)
anchorWidgetを配置する座標の基準位置を指定
デフォルトは中央に配置(CENTER)
(基本)CENTER, N, S, W, E
(組合せ)NW, NE, SW, SE
widthWidgetの幅ピクセル値
heightWidgetの高さピクセル値
relwidthWidgetの幅を、配置先の幅に対する相対値で指定0.0~1.0
relheightWidgetの高さを、配置先の高さに対する相対値で指定0.0~1.0

配置位置を指定(x, y)

Widgetを配置する位置を画面の原点(左上)からの座標で指定します。
横方向がx 縦方向がy になります。

packやgridのように他のWidgetに影響されずに自由な位置に配置することが可能です。

相対的な位置で指定(relx, rely)

親Widgetに対して相対的な位置を指定して配置することができます。
値の範囲は0.0~1.0の間になります。

以下の例ではFrameを2つ配置して、それぞれのFrame内で相対位置にボタンを配置しています。

分かりやすいようにFrameの外側を枠線で表しています。

基準位置を指定(anchor)

座標の基準位置を指定することができます。
位置は上下左右=北南西東として頭文字の記号の組み合わせで指定します。
値は、上=N, 下=S,  右=E, 左=W となり、位置関係は下図のようになります。

デフォルトでは左上(NW)になります。

幅・高さ(width, height)

Widgetの幅と高さをピクセル値で指定します。

相対的な幅、高さを指定(relwidth, relheight)

Widgetの幅と高さを、親Widgetに対して相対的な値で指定します。
値の範囲は0.0~1.0の間になります。

以上でtkinterのplaceの使い方の解説は終了です。

以下の記事も参考にしてみて下さい。
・関連記事:PythonでGUIアプリを作成する(tkinter)
・関連記事:【Python/tkinter】Frameの使い方
・関連記事:【Python/tkinter】Widgetの配置(grid)
・関連記事:【Python/tkinter】Widgetの配置(pack)