根据Python中的变量更改值

时间:2018-11-21 01:06:32

标签: python function variables tkinter

我正在尝试使未单击框时的文本从'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()

1 个答案:

答案 0 :(得分:0)

您不能只设置一个变量并期望画布发生变化。您需要在文本对象上调用itemconfigure来更改文本,就像在矩形上调用itemconfigure来更改颜色一样。