ダイナミックボタンの世代の行と列を一度入れておくと、自動的に名前が割り当てられます。たとえば、行1(A)、列1はA1になります。 名前がtkinterのダイナミックボタンを割り当てます
from tkinter import *
from functools import partial
root = Tk()
def redClick(button_num):
list_of_buttons[button_num].configure(bg="red")
def buttonsMake():
ctr = 0 ## button number/offset number in the list
for columns in range(10):
for rows in range(3):
movieSeats=Button(root, text="Empty", bg="green", fg="white",
width=5, height=1, command=partial(redClick, ctr))
movieSeats.grid(row=rows,column=columns)
list_of_buttons.append(movieSeats)
ctr += 1
list_of_buttons=[] ## global variable
buttonsMake()
root.mainloop()
私はそれが名前に各ボタンを割り当てることを期待しています。私は、グローバル変数はこれを行うことができると思うが、方法を知らない。
これは誰かが提案した別の解決策です。
seats= [["A", "a1", "a2", "a3", "a4", "a5"],
["B", "b1", "b2", "b3", "b4", "b5"],
["C", "c1", "c2", "c3", "c4", "c5"],
["D", "d1", "d2", "d3", "d4", "d5"],
["E", "e1", "e2", "e3", "e4", "e5"]]
def make_buttons():
for r, row in enumerate(seats):
for c, seat in enumerate(row[1:]): # N.B. skip first element
btn = Button(root, text="Empty", bg="#00CC00", height=1,width=6)
btn.name = seat # arbitrary attribute on Button object
btn.grid(row=r,column=c, padx=10, pady=10)
何が問題なの? – Nae
「名前を付ける」と正確には何ですか?何を試してみましたか?あなたは単に 'テキスト'を意味しますか? – Nae
名前は何ですか?変数名?辞書を使用してボタンを保持する。 – furas