我为此问道歉。我今天开始学习python,并且我已经在搜索过了,而似乎就像我的问题可以很简单地解决,但我一直有问题。在我目前的代码中:
master = Tk()
master.wm_title("V3")
w = Label(master, text="Code:")
w.pack()
master.resizable(width=False, height=False)
e = Entry(master, width = 35, justify = CENTER)
master.geometry('{}x{}'.format(240, 235))
e.pack()
e.focus_set()
def decode():
textField.configure(state="normal")
textField.delete(1.0,END)
hint = e.get()
for i, c in enumerate(hint):
if i<5:
textField.insert(END,cypher1[c])
if i>=5:
textField.insert(END,cypher2[c])
master.clipboard_clear()
master.clipboard_append(textField.get("1.0",'end-1c'))
textField.configure(state="disabled")
copyLabel.config(text = "Code Copied!")
b = Button(master, text = "Generate and Copy Key", width = 25, height = 2, command = decode)
b.pack()
textField = Text(master, height=3, width=35)
textField.pack()
copyLabel = Label(master, text="")
copyLabel.pack()
master.bind('<Return>', decode)
mainloop()
效果很好!
......除非我尝试击中输入。然后它导致
TypeError: decode() takes no arguments (1 given)
我已经尝试将其更改为
master.bind('<Return>', decode())
尽管它没有抛出错误,但它并没有做任何事情。我怀疑我缺少物体可能会导致问题。
感谢任何帮助,非常感谢。
答案 0 :(得分:0)
.bind()将event
传递给函数:
def decode(event=None):
或者def decode(*_):
会吃掉任意数量的论点