我正在尝试使未单击框时的文本从'0'变为单击时的文本'1'。但是,在单击变量之前,我将变量设置为“ 0”,因此,单击框并更改变量时,文本不会更改。这是代码。
from tkinter import *
root = Tk()
height = 500
width = 500
canvas = Canvas(width=width, height=height)
root.title = "Test"
def click(event):
item = canvas.find_closest(event.x, event.y)
tags = canvas.gettags(item)
if tags[0] == 'rect1':
canvas.itemconfig(item, fill="blue")
click.value = '1'
click.value = '0'
text = click.value
canvas.create_rectangle(100, 100, 400, 400, tags='rect1', fill='white')
canvas.create_text(200, 300, font='Times 50', text=text, anchor=E)
canvas.pack()
canvas.bind("<Button-1>", click)
canvas.mainloop()
答案 0 :(得分:0)
您不能只设置一个变量并期望画布发生变化。您需要在文本对象上调用itemconfigure
来更改文本,就像在矩形上调用itemconfigure
来更改颜色一样。