Tkinter:获取鼠标绘制矩形的坐标
Posted
技术标签:
【中文标题】Tkinter:获取鼠标绘制矩形的坐标【英文标题】:Tkinter: getting coordinates of a mouse drawn rectangle 【发布时间】:2015-07-03 05:39:33 【问题描述】:根据我之前的question 的答案,我想知道如何获取代表矩形角的 4 个像素的坐标以及它的 2 个维度?
【问题讨论】:
这些值似乎在self.start_x
、self.start_y
、curX
和curY
中。究竟是什么问题?
【参考方案1】:
只需使用on_button_press()
和on_button_release()
方法的event
参数中包含的x,y 坐标:
width = abs(xRelease - xPress)
height = abs(yRelease - yPress)
【讨论】:
【参考方案2】:您可以使用canvas.bbox(item)
获取画布上某个项目的边界框的坐标。因为您的项目是一个矩形,所以边界框正好代表矩形。
在您的情况下,它将是:
self.canvas.bbox(self.rect)
这将返回一个包含 (x0, y0, x1, y1)
的元组,其中点 0 是左上角,点 1 是右下角。
您可以轻松地将它们转换为四个角和尺寸:
Upper left = x0, y0
Upper right = x1, y0
Lower left = x0, y1
Lower right = x1, y1
width = x1-x0
height = y1-y0
【讨论】:
以上是关于Tkinter:获取鼠标绘制矩形的坐标的主要内容,如果未能解决你的问题,请参考以下文章