0

graphics.py用来创建一些对象,但有这个问题 - 有什么区别:

L1 = win.create_line(x1, y1 , x2, y2)

和:

L1 = Line(Point(x1,y1), Point(x2,y2))
L1.draw(win)

它们有不同的功能吗?这两种方法的名称是什么?

4

1 回答 1

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 级别。这将有助于确保您的对象相互配合。

于 2017-01-07T06:48:59.250 回答