0
クリックすると色が変わるようにボタンを設定しようとしています。ボタンの色が定義されていないため変更できません - Python .Tkinter
from tkinter import *
root = Tk()
def buttonsMake():
for c in range(10):
for r in range(3):
movieSeats=Button(root, text="Empty", bg="green", fg="white",
width=5, height=1, command=lambda c=c, r=r:[redClick(c, r)])
movieSeats.grid(row=r,column=c)
def redClick(c, r):
movieSeats.configure(bg="red")
buttonsMake()
root.mainloop()
私はそれが色 を変更することを期待ここでエラーです:
movieSeats=Button(root, text="Empty", bg="green", fg="white", width=5,
height=1, command=lambda c=c, r=r:[redClick(c, r)])
File "C:/Users/----/Downloads/test2.py", line 21, in redClick
movieSeats.configure(bg="red")
NameError: name 'movieSeats' is not defined
ボタンを使用してコードを正しくフォーマットすることができます。 – furas
lambdaにリストは必要ありません。 'lambda c = c、r = r:redClick(c、r)' – furas
'movieSeats'は両方の関数のローカル変数です。グローバル変数を作成するには、buttonsMake()で 'global movieSeats'を使う必要があります。 – furas