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/mzW9 著作权归作者所有。请勿转载和采集!