Placeの相対座標でウィジェットを配置する
前回は、Placeの絶対座標を使ってウィジェットを配置しました。
今回は、Placeの相対座標を使ってウィジェットを配置しましょう。
相対座標と絶対座標は組み合わせることができます。
組み合わせた場合は、先に相対座標が適用され、そこから絶対座標の位置が追加されます。
相対座標の値は、0が親ウィジェットの先頭、0.5が親ウィジェットの中央、1が親ウィジェットの最後尾になります。
なお、マイナスや1以上も指定できます。
Placeの相対座標の書式
Placeの相対座標の書式は、以下のようになります。
ブジェクト名.place(relx=割合, rely=割合, anchor="基準となるウィジェットの位置")
Placeの相対座標を使ったプログラム
Placeの相対座標を使ったプログラムは、以下のようになります。
3番目のラベルは、相対座標を指定したあと絶対座標で位置をずらしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### ラベル label1 = tkinter.Label(master=main, text="ラベル1", font=(None,30), fg="#FF0000", bg="#00FF00", height=3, width=10) label2 = tkinter.Label(master=main, text="ラベル2", font=(None,30), fg="#00FF00", bg="#0000FF", height=3, width=10) label3 = tkinter.Label(master=main, text="ラベル3", font=(None,30), fg="#0000FF", bg="#FF0000", height=3, width=10) ### ラベル配置 label1.place(relx=0, rely=0) label2.place(relx=0.5, rely=0.5, anchor="center") label3.place(relx=1, rely=1, x=-5, y=-5, anchor="se") ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。