我正在尝试编写一个基本的文本编辑器,当用户使用save菜单栏时,会调用save函数。我创建了一个新的框架,并为用户输入了一个条目来输入文件名。我正在为条目添加一个绑定,这样当用户按下Enter键时,它将调用saveFile,最终将正确地保存文件。你知道吗
问题是,当我创建绑定时,它似乎在调用saveFile函数,但不确定为什么它没有等我按Enter键。你知道吗
我试过找有关这方面的文章,但似乎找不到问题所在。你知道吗
def save(self):
tempWin = Tk()
frame = Frame(tempWin, width=100, height=100)
entry = Entry(frame)
frame.pack()
entry.pack()
entry.bind("<Return>",self.saveFile(entry,tempWin))
def saveFile(self,file,tempWin):
print("saveFile")
是的,这正是正在发生的事情。当Python计算此行时:
它将
self.saveFile(entry,tempWin)
视为有效的函数调用。所以,它执行它。你知道吗您可以通过在lambda function中“隐藏”对
self.saveFile
的调用来解决此问题:下面是一个简单的脚本来演示:
e
的目的是捕获触发绑定时发送给函数的click事件。你知道吗相关问题 更多 >
编程相关推荐