python绘制对象风类

2024-04-24 12:42:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白为什么下面的代码不会构造一个带有圆的图形窗口。当我运行SomeObject = Tracker()时,它确实构造了一个对象,但不是图形化的

为什么?这是一个简单的代码片段,只是为了让我明白为什么我没有得到一个图形窗口。在

# tracker.py
from graphics import *

class Tracker:

    def __inti__(self):

        self.win = GraphWin('tracker', 500, 500)
        self.circle = Circle(Point(0, 0), 0.5)
        self.circle.draw(self.win)

Tags: 对象代码frompyimportself图形tracker
1条回答
网友
1楼 · 发布于 2024-04-24 12:42:02

你看不到你的圆圈,因为:

  1. 圆的半径(0.5)太小
  2. 您将这个小圆的中心放在左上角的(0,0)
  3. 类的初始值设定项被错误地inti,因此在创建对象时没有调用代码。在

以下是有效的代码:

from graphics import *

class Tracker:

    def __init__(self):
        # Window of size 500 x 500
        self.win = GraphWin('tracker', 500, 500)
        # Circle of radius 10 centered at (250, 250)            
        self.circle = Circle(Point(250, 250), 10)                                         
        self.circle.draw(self.win)
        self.win.getMouse()  # Pause to view result
        self.win.close()


def main():
    tracker = Tracker()


if __name__ == "__main__":
    main()

其中图形.py大概是从这个link中提取的。在

我修改了上面链接中的示例代码(这可能也是您所做的)来调用getMouse()来保持窗口的正常运行。在

结果是

this window

相关问题 更多 >