2016-09-03 57 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

相關問題