python - Tkinter 绑定仅单击画布而不单击对象
问题描述
所以我有一个代码:
canvas.tag_bind(stvorec, '<Button-1>', clicked)
canvas.bind('<Button-1>', fail)
但我的问题是,当我单击矩形(tag_bind)时,它还会触发画布上的第二个绑定。这是我不想要的,因为我需要在单击矩形分数增量时执行类似操作,当单击矩形分数减量之外时。
解决方案
然后,您可以仅使用.bind()
并检查绑定回调中是否单击了画布项:
score = 0
def fail(event):
global score
# get ID of "current" item using .find_withtag()
if canvas.find_withtag("current"):
# a canvas item is clicked
score += 1
else:
score -= 1
...
canvas.bind("<Button-1>", fail)
推荐阅读
- python - python脚本中发布请求的空正文错误
- angular - 指令针对绑定组件的每个实例运行?
- excel - Excel:如何创建公式来汇总动态范围的单元格?
- java - 在 Java 中将字符串转换为小型大写伪字母表
- flash - 无法在电子应用程序中显示 Flash 内容
- git - 通过 GIT 管理 Step Functions、API Gateway、Lambda 并进行部署
- c# - 如何从 ip 范围中获取未使用的值并分配给 c# 中的字段?
- r - 如何将数字替换为R中的单词
- c# - 如何使用 SQL 查询过滤多个文档?
- slider - 是否可以使用 GTM 跟踪滑块滑动?