python调用窗口_python-如何获取调用事件的窗口小部件的ID(...

执行摘要

由于canvas方法可以接受标签或项目ID,因此可以使用紧凑型回调

def autodestroy(event):

event.widget.delete("current")

细节

您的回调收到一个Tkinter事件作为唯一参数.此参数是一个对象,您可以从中检索受刺激的小部件以及其他信息(在发生鼠标事件的情况下,鼠标坐标或按钮).

def clicked(event):

canvas = event.widget

要获得单击的画布项目,可以使用CURRENT1标签

rect = canvas.find_withtag("current")[0]

或使用find_closest,find_overlapping,find_enclosed …(从effbot.org复制)重现选择

canvas = event.widget

x = canvas.canvasx(event.x)

y = canvas.canvasy(event.y)

rect = canvas.find_closest(x, y)[0]

请注意,find_ family返回元组,在某些情况下该元组可能为空,并且您可能会测试空度或捕获异常.

然后,要删除画布的项目,可以使用canvas.delete方法.

canvas.delete(rect)

由于canvas方法可以接受标签或项目ID,因此可以使用更紧凑的文字:

def autodestroy(event):

event.widget.delete("current")

1 Tkinter.CURRENT和“当前”是等效的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值