将类方法传递给onscreen,在python中单击

时间:2016-09-03 04:30:08

标签: python turtle-graphics

我尝试在类中实现相同的操作并抛出错误

class Lumber:
    def doclick(x,y):
        print(str(x) + "" + str(y))
        turtle.penup()
        turtle.goto(x,y)
        turtle.pendown()
        self.drawBark()

    mainScreen.onscreenclick(fun = doclick)

请建议一种调用doclick方法的方法。我想要我班上的一切

1 个答案:

答案 0 :(得分:1)

以下是否满足您的需求?

import turtle

mainScreen = turtle.Screen()

class Lumber:
    def doclick(self, x, y):
        print(str(x), str(y))
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()
        self.drawBark()

    def drawBark(self):
        pass

    mainScreen.onscreenclick(fun=lambda x, y: lumber_instance.doclick(x, y))

lumber_instance = Lumber()

turtle.done()

或者您是否希望每个Lumber实例都添加它自己的onscreenclick处理程序?