【スポンサーリンク】
placeでウィジェットを配置
ウィジェットに対してplaceメソッドを実行する際、引数xとyにピクセル値を指定することで、指定した座標にウィジェットを配置することができる。画面の左上が座標(0, 0)となる。以下、ボタン5個を座標を指定して表示させる例を示す。
import tkinter root = tkinter.Tk() #Button5個をplaceで表示 for i in range(5): b = tkinter.Button( root, text="place: " + str(i+1), bg="lightblue", ) b.place(x=i*15, y=i*20) #placeで表示 root.mainloop()
実行すると、引数(x, y)で指定した座標にボタンが表示される。画面の左上が座標(0, 0)となる。packやgridとは違い、座標の絶対値を指定しているため、座標によってはウィジェット同士が重なってしまう。
CSVファイルで座標を指定
ウィジェットのテキスト及び座標が保管されているCSVファイルを読み込んで、ウィジェットを表示させる例を示す。読み込むcsvファイルは以下の通り。タイトル、x座標、y座標の絶対値が記載されている。
button_1-1, 100, 0 button_2-1, 10, 50 button_2-2, 10, 100 button_3-3, 0, 150 button_4-1, 70, 150
import tkinter import csv root = tkinter.Tk() #CSVファイルを読み込んで表示 with open("place_csv.csv") as f: reader = csv.reader(f) for r in reader: b = tkinter.Button( root, text=r[0], bg="lightblue", ) b.place(x=r[1], y=r[2]) root.mainloop()
CSVファイルを読み込み、for文で一行ずつ読み込みながらボタンを表示させている。座標を絶対値で指定するため、packやgridよりも複雑な位置の指定が可能となる。
オプション
オプション | 動作 | x, y | ウィジェットの座標をピクセル値で指定 | height, width | ウィジェット高さ・幅の設定 |
---|---|
relheight, relwidth | 親ウィジェットに対する相対的な高さ・幅(0~1で設定) |
【スポンサーリンク】