1

这是我编辑的代码:

from tkinter import *

class UI:
   def __init__(self):
      self.root = Tk()
      self.text= Text(self.root)
      self.text.pack()
      self.text.bind("<Return>", self.entry.edit_undo)
      self.text.mainloop()

UI()

当我运行它时它会正常运行,但是当diff.node_root.bind()被触发时,它会显示一个错误,上面写着TypeError: edit_undo() takes 1 positional argument but 2 were given. 有人可以帮帮我吗?

4

1 回答 1

1

您传递给bind(事件处理程序)的函数应采用一个event参数不接受任何参数(除了...)。edit_undo self

如果您对实际的 不感兴趣,则event可以传递一个忽略它的函数,例如:

self.text.bind("<Return>", lambda e: self.entry.edit_undo())
于 2020-09-23T07:10:50.850 回答