我正在尝试让用户单击按钮时,它会变成“X”或“0”(取决于他们所在的团队)。如何使按钮上的文本更新?到目前为止,我最好的想法是删除按钮,然后再次打印它们,但这只能删除一个按钮。以下是我的代码:
from tkinter import *
BoardValue = ["-","-","-","-","-","-","-","-","-"]
window = Tk()
window.title("Noughts And Crosses")
window.geometry("10x200")
v = StringVar()
Label(window, textvariable=v,pady=10).pack()
v.set("Noughts And Crosses")
def DrawBoard():
for i, b in enumerate(BoardValue):
global btn
if i%3 == 0:
row_frame = Frame(window)
row_frame.pack(side="top")
btn = Button(row_frame, text=b, relief=GROOVE, width=2, command = lambda: PlayMove())
btn.pack(side="left")
def PlayMove():
BoardValue[0] = "X"
btn.destroy()
DrawBoard()
DrawBoard()
window.mainloop()
tk.StringVar
。请参考 http://effbot.org/tkinterbook/variable.htm。 - Davidconfigure
方法,而无需使用StringVar
。虽然使用StringVar
是可行的,但这会增加一个要维护的额外对象,而没有提供任何额外的好处。 - Bryan Oakley