このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
3.13 アンカーによるフレーム表示位置(place_configure、place、anchor)
「place_configure」または「place」メソッドによるフレームの表示位置は、デフォルトでフレームの左上端が指定座標に置かれるように配置されます。指定座標に置くフレームのポイントは「anchor」オプションで設定することができます。A1.5 アンカー定数で指定します。指定したポイントが指定座標に置かれるようにフレームは表示されます。デフォルトで「nw」が設定されているので、フレームの左上端が指定座標に置かれます。
次のプログラムは赤色の背景の「fram_1」と黄色の背景の「frame_2」を作成して「place」メソッドでメインウィンドウに配置しています。「fram_1」は「anchor」オプションを指定しないで、デフォルトのまま配置しています。「frame_2」は「anchor」オプションに「center」を指定しています。「frame_2」の表示位置を「relx」、「rely」オプションで親オブジェクトの中心の「0.5」に指定しています。「anchor」オプションに「center」を指定しているので、「frame_2」は親オブジェクトの中心に配置されます。
import tkinter as tk | |
root = tk.Tk() | |
root.wm_geometry('300x200+100+100') | |
frame_1 = tk.Frame(root, bg='red') | |
frame_1.place(x=0, y=0, width=80, height=80) | |
frame_2 = tk.Frame(root, bg='yellow') | |
frame_2.place(relx=0.5, rely=0.5, width=100, height=100, | |
anchor='center') | |
root.mainloop() |
このプログラムを実行すると、下図のように指定した座標にフレームが表示されます。