Вызвать Python Zelle графику drawLine () через интерактивные точки - PullRequest
0 голосов
/ 18 октября 2018

https://www.cs.swarthmore.edu/~newhall/cs21/pythondocs/using-graphics.html

Я пытаюсь создать графическую функцию Python Zelle, которая позволит пользователю использовать мышь, чтобы щелкнуть две точки по своему выбору, чтобы нарисовать линию.Это то, что я до сих пор:

def drawLine():
    win = GraphWin("Window", 250, 250)

    p = win.getMouse()
    line = Line((p.getX, p.getY), (p.getX, p.getY))
    line.setOutline("black")
    line.draw(win)

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Было бы неплохо дать вашим пользователям обратную связь о том, где они разместили свою первую точку, когда они размещают свою вторую:

from graphics import *

def drawLine(window):

    pt1 = window.getMouse()
    pt1.draw(window)

    pt2 = window.getMouse()

    line = Line(pt1, pt2)
    line.setOutline("black")
    line.draw(window)

    pt1.undraw()

win = GraphWin("Window", 250, 250)

drawLine(win)

win.getMouse()
win.close()
0 голосов
/ 19 октября 2018

Решил, поэтому подумал, что я должен опубликовать код.

def drawLine():
    win = GraphWin("Window", 250, 250)

    p = win.getMouse()
    p2 = win.getMouse()

    line = Line(Point(p.getX(), p.getY()), Point(p2.getX(), p2.getY()))
    line.setOutline("black")
    line.draw(win)
...