ここは私の最初の投稿です。私は乱数を使用して5x5のテーブルを作成しようとしています。目標は、ユーザーがテーブルの最小番号から最大番号までクリックするはずで、正しい番号をクリックすると無効にする必要があるということです。私は変数に各ボタンをつけたくありません。私は乱数を使ってウィンドウを作成しましたが、クリックされた数値が最小であるかどうかをチェックする関数を作成したいと思います。答えが "はい"の場合、状態をDISABLEDに変更する必要があります。私はこれに4時間以上座っていて、「テキスト」のようなクリックされたボタン情報にどうやってアクセスすればいいのかわかりません。変数に割り当てられていないボタン情報にアクセスできますか?
これまでのところ、私はこれまでdat関数に取り組んでいました。
from tkinter import *
import random
def click(z=None):
global o
Button(state=DISABLED)
o=Tk()
y=0
listrow=[4,3,2,1,0]
numbers=[]
spr=IntVar()
while len(numbers) < 25:
r = random.randint(0,999)
if r not in numbers:
numbers.append(r)
for i in range(1,26):
Button(o, text=str(numbers[i-1]), width=10).grid(row=listrow[i%5], column=y)
if i == 5:
y+=1
elif i == 10:
y+=1
elif i==15:
y+=1
elif i==20:
y+=1
else:
continue
o.bind_all('<Button-1>', click)
o.mainloop()
4つの方法、あなたはボタンにあなたが行うことになっているもののような変数を割り当てる、またはあなたが作ったIntVarを使用しますか。または、すべてのボタンをリストに保存するか、サブクラスButtonを作成して独自のメソッドを追加します。 – abccd
各ボタンには「テキスト」値が割り当てられています。関数で何を入力すればよいのですか?ユーザーがそのボタンをクリックすると、この "テキスト"値を使用できます。変数にボタンが添付されていないとcgetが動作しないようです。 –
テキスト属性は、どのボタンが押されたかを知っている場合にのみ使用できますが、現在は使用しません。 – abccd