python - 如何使用 event.x 和 event.y 作为我在每个地方都使用的变量
问题描述
我尝试多次在函数之外使用 event.x 和 event.y 但没有任何效果
from tkinter import *
root = Tk()
def start_mouse_press(event):
print(f"starting mouse at {event.x, event.y}")
def stop_mouse_press(event):
print(f"stopping mouse at {event.x, event.y}")
root.bind('<ButtonPress-1>', start_mouse_press)
root.bind('<ButtonRelease-1>', stop_mouse_press)
root.mainloop()
解决方案
虽然不是特别整洁,但您可以使用全局变量来存储起始位置以供以后使用。
考虑下面的例子
from tkinter import *
root = Tk()
start_pos = None
def start_mouse_press(event):
global start_pos
start_pos = (event.x, event.y)
def stop_mouse_press(event):
print(f"Start Pos {start_pos}\nEnd Pos {event.x, event.y}")
root.bind("<ButtonPress-1>", start_mouse_press)
root.bind("<ButtonRelease-1>", stop_mouse_press)
记录开始位置,以便在释放鼠标按钮时,可以打印开始和结束位置。
推荐阅读
- php - Webcrawler 提取链接元素
- javascript - 在 iE 的浏览器会话中手动添加 cookie
- html - IE11 中的 max-width 和 flex 不起作用
- ruby - 在不显示任何错误消息的情况下保存记录不起作用 - Rails
- angular - (Angular Universal) - firebase.initializeApp 不是函数
- php - 我怎样才能同时抓取两个不同的东西并将其存储在 MySQL 数据库中
- python - 条件映射模块导入
- firebase - 在 Cloud Firestore 事务中,如果我们不知道文档名称,如何检查文档是否存在于特定集合中
- android - 反应原生Android中不精确的高度和getItemLayout
- c++ - Can two stores be reordered in such singleton implementation?