【发布时间】:2021-05-29 14:41:15
【问题描述】:
我错过了什么吗?我想我已经做了类似下面例子的事情。 但是我既没有找到我希望的脚本,也没有在网上找到一些东西。 基本上我想将 Configure 事件绑定到一个项目。是不是可能像错误提示的那样?
import tkinter as tk
def do_something(event=None):
print('something')
def stupid_workaround():
if cnvs.coords(lbl) != lbl_coords:
do_something()
cnvs.coords(lbl, *lbl_coords)
cnvs.after(200,stupid_workaround)
root = tk.Tk()
cnvs = tk. Canvas(root,highlightthickness=0)
lbl = cnvs.create_text(0,0, text='this is an exampel', anchor='nw')
lbl_coords = cnvs.coords(lbl)
btn = tk.Button(root, text='change coords', command=lambda:cnvs.coords(lbl,10,10))
btn.pack()
stupid_workaround()
#cnvs.bind(lbl, '<Configure>', do_something) #throws no error
#cnvs.tag_bind(lbl, '<Configure>', do_something) #throws error
cnvs.pack()
root.mainloop()
_tkinter.TclError:请求的非法事件;只能使用键、按钮、动作、进入、离开和虚拟事件
【问题讨论】: