画线的循环

时间:2018-06-03 20:23:32

标签: python python-3.x

我很感谢任何人的帮助,因为我是Python新手。下面的脚本将通过3次鼠标点击绘制一个三角形。我想用循环改变这个脚本,以允许无限制的鼠标点击。有人可以帮我完成下一步吗?脚本下方提供了我想要它做的图片。

import graphics as g
def main():
    win=g.GraphWin("Draw a Triangle")
    win.setCoords(0.0,0.0,100.0,100.0)
    message=g.Text(g.Point(50,50),"Click on three points")
    message.draw(win)


    p1=win.getMouse()
    p1.draw(win)
    p2=win.getMouse()
    p2.draw(win)
    p3=win.getMouse()
    p3.draw(win)

    triangle=g.Polygon(p1,p2,p3)
    triangle.setFill("Red")
    triangle.setOutline("cyan")
    triangle.draw(win)

    message.setText("click anywhere to quit.")
    win.getMouse()
main()

print(main)

以下是我希望它做的事情。在我的第二次鼠标点击它将自动绘制点和第一和第二点之间的一条线。然后对于点3,点4等具有无限点的选项。

Polygon Example

1 个答案:

答案 0 :(得分:0)

主要思想是跟踪用户点击的点,并在重新绘制对象时清除画布。

您使用的{ "timestamp": "2018-06-03T21:03:52.876+0000", "path": "/account/getbalances", "status": 500, "error": "Internal Server Error", "message": "JSON encoding error: object is not an instance of declaring class; nested exception is com.fasterxml.jackson.databind.JsonMappingException: object is not an instance of declaring class (through reference chain: java.util.ArrayList[0]->kotlin.Unit[\"success\"])" } 文件似乎来自here。反过来,代码只是TkInter的包装。

因此,只要熟悉TkInter如何处理鼠标和按键,你应该能够做你想做的事情。例如,而不是使用graphics.py,使用GUI框架的首选方法是将函数(事件处理程序)绑定到特定事件,如下所示。

win.getMouse()