python类对象不绘制图形窗口

时间:2016-06-24 01:44:32

标签: python graphics

我不明白为什么下面的代码不会用圆圈构建图形窗口。当我运行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)

1 个答案:

答案 0 :(得分:0)

你看不到自己的圈子了:

  1. 圆圈半径(0.5)太小
  2. 您将此小圆圈的中心放置在左上角的(0,0)
  3. 您的班级初始化程序错误 inti ,因此在您创建对象时未调用代码。
  4. 以下是有效的代码:

    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()
    

    graphics.py 可能来自此middleware

    我修改了上面链接中的示例代码(可能也是你所做的),调用getMouse()来保持窗口。

    结果是

    link