Python Code Notes

Information by python engineer

【tkinter】ウィジェットを配置する方法②: gridメソッド【Python】

f:id:vigilantPotato:20210727014018p:plain
ウィジェットをグリッド状に配置するときに使用するgridメソッドの使用方法を整理する。


【スポンサーリンク】


gridでウィジェットを配置

ウィジェットに対してgridメソッドを実行する際、引数rowとcolumnに座標を指定することで、各座標にウィジェットを配置することができる。以下、ボタン5個を座標を指定して表示させる例を示す。

root = tkinter.Tk()

#Button5個をgridで表示(座標を指定)
for i in range(5):
    b = tkinter.Button(
        root,
        text="grid: " + str(i+1),
        bg="lightblue",
        )
    b.grid(row=i, column=i) #座標を指定

root.mainloop()

実行すると、gridメソッドで指定した座標にボタンが表示される。画面の左上が座標(1, 1)となる。

f:id:vigilantPotato:20210727014001p:plain

[↑ 目次へ]


CSVファイルで座標を指定

ウィジェットのテキスト及び座標が保管されているCSVファイルを読み込んで、ウィジェットを表示させる例を示す。読み込むcsvファイルは以下の通り。タイトル、x座標、y座標が記載されている。

button_1-1, 1, 1
button_2-1, 2, 1
button_2-2, 2, 2
button_3-3, 3, 3
button_4-1, 4, 1
import tkinter
import csv

root = tkinter.Tk()

#CSVファイルを読み込んで表示
with open("grid_csv.csv") as f:
    reader = csv.reader(f)
    for r in reader:
        b = tkinter.Button(
            root,
            text=r[0],
            bg="lightblue",
            )
        b.grid(row=r[1], column=r[2])

root.mainloop()

CSVファイルを読み込み、for文で一行ずつ読み込みながらボタンを表示させている。

f:id:vigilantPotato:20210727014018p:plain

[↑ 目次へ]


オプション

オプション 動作
row, column ウィジェットの座標を指定
padx, pady ウィジェット外側の隙間の設定
ipadx, ipady ウィジェット内側の隙間の余白

[↑ 目次へ]


【スポンサーリンク】