所以我写这个程序,用乌龟画磁盘。我正在使用按钮等进行tkinter界面,但是,我似乎无法通过按钮在类中执行函数。它提示我这个经典的python错误," turtleInput()缺少1个必需的位置参数:' numPressed'"
我已经尝试了一百万次,一百万种方式,我只是无法看到问题,也许你们其中一个可以。我将为您提供课堂内的功能和按钮(当然是代码中的),希望您可以帮助我。如果你不太明白我在说什么,请随时提问。
def turtleInput(self, numPressed):
self.length = int(numPressed)
self.lstColor = ["maroon","brown","red","orange","yellow",
"green","lightgreen","purple","blue",
"lightblue"]
for i in range(0,self.length):
self.shrink = 220
self.shrinkLst = []
while self.shrink > 0:
self.shrink = self.shrink-20
self.shrinkLst.append(self.shrink)
self.diskCol = self.lstColor[i]
self.turtleDisks(self.diskCol,self.shrinkLst[i])
现在是按钮的代码
num2= Button(root, text="2", width=3)
num2["command"]= lambda: Disk.turtleInput(2)
num2.grid(row=1, column=0, sticky=W, padx=3)
请记住,我导入了tkinter,turtle和其他一切正常,这是唯一的问题。
答案 0 :(得分:0)
在引用函数时,您需要引用Disk
对象,而不是Disk
类。
解决方案如下所示:
# create instance of Disk
disk = Disk()
...
num2["command"]= lambda: disk.turtleInput(2)