2016-09-03 33 views
0

我想在一个类实现同向onscreenclick,它抛出一个错误传递一个类的方法在python

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

以下是否满足您的需求?

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

还是希望每一个木材如用于增加它自己的onscreenclick处理?

+0

是的,它工作正常。非常感谢! – user3876764

+0

一旦我的工作在屏幕上完成,任何方法来禁用屏幕上点击? – user3876764

+0

@ user3876764,您应该可以执行mainScreen.onscreenclick(None)关闭处理程序。 – cdlane

相关问题