Tkinter - TypeError:retrieve_input()只取1个参数(给定0)

时间:2014-04-03 22:22:16

标签: python tkinter tk

我收到错误,无法从选项按钮,复选框和文本区域中检索值。

TypeError:retrieve_input()只取1个参数(给定0) NameError:name' checkCmd'未定义

#!C:/Python27/python.exe

from Tkinter import *
import ImageTk, Image

def retrieve_input(event):
  getter = text.get(text)

  getterV = v.get(v)

  getterChk = chkvar.get(chkvar)
  root.destroy()

root = Tk()
root.title('HADOUKEN!')

text = Text(root, height=16, width=40)
scroll = Scrollbar(root, command=text.yview)

text.configure(yscrollcommand=scroll.set)

text.grid(sticky=E)
scroll.grid(row=0,column=1,sticky='ns')

text.focus()
text.bind(retrieve_input)

v = ""
chkvar = IntVar()
chkvar.set(0)
c = Checkbutton(root, text="CaseIt", variable=chkvar)
c.grid(row=1,column=0,sticky=W)

radio1 = Radiobutton(root, text="Src", variable=v, value=1)
radio1.grid(row=1,column=0)
radio1.focus()

radio2 = Radiobutton(root, text="Dst", variable=v, value=2)
radio2.grid(row=2,column=0)

b1 = Button(root, text="Submit", command=retrieve_input)
b1.grid(row=1, column=2)

img = ImageTk.PhotoImage(Image.open("Hadoken.gif"))
panel = Label(root, image = img)
panel.grid(row=0, column=2)


root.mainloop()


if checkCmd.get() == 0:
  print "yes"
else:
  print "no"

1 个答案:

答案 0 :(得分:0)

当您使用函数作为命令的值时,不会像使用绑定一样使用事件对象调用该命令。你的函数需要一个参数,但按钮不能给它一个,因此错误。

关于checkCmd未定义的错误......这正是问题所在。你还没有用这个名字定义任何东西。

调试的第一条规则:假设错误信息告诉你真相。