【问题标题】:Tkinter: getting coordinates of a mouse drawn rectangleTkinter:获取鼠标绘制矩形的坐标
【发布时间】:2015-07-03 05:39:33
【问题描述】:

根据我之前的question 的答案,我想知道如何获取代表矩形角的 4 个像素的坐标以及它的 2 个维度?

【问题讨论】:

  • 这些值似乎在self.start_xself.start_ycurXcurY 中。究竟是什么问题?

标签: python python-2.7 tkinter


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 2014-07-30
      • 2022-09-23
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多