2016-10-13 13 views
0

私はTic Tac Toeのゲームのために3x3ボタンのグリッドを生成しています。ボタンを押すとXまたはOに変わります各ボタンには固有の識別子がありますので、どのボタンを変更するか分かります。Tkinterに自動的に生成されたボタン名を与える方法は?

ボタンのコードを強調します。

num=1 
for row in range(3): 
for column in range(3): 
    Button(TTTGrid,bg="#ffffff", width=20,height = 6, command=lambda row=row, column=column: TTTGridPress(row, column),relief=SUNKEN).grid(row=row, column=column, sticky=W) 
    num=num+1 

答えて

1

辞書またはリストを使用してください。たとえば:

buttons[(2 1)].configure(...) 

注:あなたがgrid(またはpack、またはplace)を呼び出す必要が

buttons = {} 
for row in range(3): 
    for column in range(3): 
     buttons[(row, column)] = Button(...) 
     buttons[(row, column)].grid(...) 

後で、として、行2、列1内のボタンを参照することができます彼らはNoneを返すので、別の声明で。同じステートメント(例:Button(...).grid(...))で実行すると、保存される値はボタンのインスタンスではなくNoneになります。

+0

私はいくつかの質問があるので、このGUIのものにかなり新しいです。 – mexO

+0

いいえ1 - これを行うと(ボタン[(2 1)]。configure(...))、2,1を行、列に置き換えることはできますか?任意のボタンを任意の順序でクリックできるようにします。 また、私は本当に最後の段落を理解していない、あなたはもう少しそれを説明することができますか?質問をする前に – mexO

+0

を試してみてください。 –

関連する問題