Python获取选中区域坐标
如果你是指在图形界面中选中的区域,可以使用Tkinter库中的canvas组件。以下是一个示例代码:
from tkinter import *
root = Tk()
canvas = Canvas(root, width=400, height=400)
canvas.pack()
# 画一个矩形
rect = canvas.create_rectangle(50, 50, 150, 150, fill="blue")
def get_selected_area():
# 获取选中区域的坐标
x1, y1, x2, y2 = canvas.bbox("sel")
print("选中区域的坐标:", (x1, y1, x2, y2))
# 绑定鼠标左键按下事件,以开始选中区域
canvas.bind("<Button-1>", lambda event: canvas.scan_mark(event.x, event.y))
# 绑定鼠标左键松开事件,以结束选中区域
canvas.bind("<ButtonRelease-1>", lambda event: get_selected_area())
# 绑定鼠标移动事件,以选中区域
canvas.bind("<B1-Motion>", lambda event: canvas.scan_dragto(event.x, event.y, gain=1))
root.mainloop()
在这个示例中,我们创建了一个canvas组件,然后在上面画了一个蓝色的矩形。我们绑定了三个事件:鼠标左键按下、鼠标左键松开和鼠标移动。在鼠标左键按下事件中,我们使用canvas.scan_mark()方法记录鼠标点击的位置作为选中区域的起始点。在鼠标左键松开事件中,我们使用canvas.bbox("sel")方法获取选中区域的坐标,并输出到控制台。在鼠标移动事件中,我们使用canvas.scan_dragto()方法实时更新选中区域的位置。注意,我们在lambda函数中使用了event参数,以获得鼠标事件的位置。
原文地址: https://www.cveoy.top/t/topic/9ZO 著作权归作者所有。请勿转载和采集!