"Five In a Row"というゲームを実装しようとしています。 ボタンを入れる15×15のリストを作成します。 (行番号と列に行番号と列番号を表示したいので、範囲(16)を使用しました)Python tkinterはどのボタンがクリックされたかを見つける
私の実装は、ボタンがクリックされたときと同じように、ラベルになります。 しかし、ユーザーがクリックするボタンはわかりません。
これをどのように実装できますか?ありがとう!
from tkinter import *
root=Tk()
root.wm_title("Five In a Row")
buttonlst=[ list(range(16)) for i in range(16)]
chess=Label(root,width=2,height=2,text='0')
def p(button):
gi=button.grid_info()
x=gi['row']
y=gi['column']
button.grid_forget()
chess.grid(row=x,column=y)
buttonlst[x][y]=chess
for i in range(16):
for j in range(16):
if i==0:
obj=Label(root,width=2,text=hex(j)[-1].upper())
elif j==0:
obj=Label(root,width=2,text=hex(i)[-1].upper())
else:
obj=Button(root,relief=FLAT,width=2,command=p(obj))
obj.grid(row=i,column=j)
buttonlst[i][j]=obj
root.mainloop()
同様の質問があります。How to determine which button is pressed out of Button grid in Python TKinter?です。しかし、私はそれをかなり得ていません。
これはあなたにリンクして、質問の正確な複製のように見えます。答えのどの部分が得られないのですか?あなたはもっと具体的になりますか? –
@BryanOakley私は彼がボタンの情報をどのように格納しているのか分かりません。 –
どのボタンが押されたかを決定したい場合は、少なくともボタン位置情報を引数として取る関数を持つことができます。 – Nae