我使用graphics.py
创建了一些对象,但有这个问题 - 有什么区别:
L1 = win.create_line(x1, y1 , x2, y2)
和
L1 = Line(Point(x1,y1), Point(x2,y2))
L1.draw(win)
他们有不同的功能,这两种方法的名称是什么?
答案 0 :(得分:0)
(Zelle)graphics.py是更高级别,更简单的图形包实现在另一个较低级别,更复杂的图形包称为Tkinter。当你写:
L1 = Line(Point(x1,y1), Point(x2,y2))
L1.draw(win)
你创建了一个(Zelle)graphics.py对象,要求它自己绘制。作为GraphicsObject
的子类,还可以响应其他方法,包括move()
,undraw()
,setWidth()
等。
当你写:
L1 = win.create_line(x1, y1 , x2, y2)
创建一个响应Tkinter方法的Tkinter对象。
通常,您应该选择一个级别并在其中工作。如果你想使用(Zelle)graphics.py那么你应该避免使用Tkinter基础,直到遇到(Zelle)graphics.py根本无法做到的事情,除非你下降到Tkinter级别。这有助于确保您的对象彼此玩得很好。