由于某些原因,当我在这个代码的输入字段中输入一些内容,然后点击save按钮(该按钮应该调用以简单地打印名称和缩写),它不接受当前输入框中的内容。在
我的解释是,当单击按钮创建窗口时,它会从代码中获取调用的任何内容,但不会动态地检查输入框,即使我单击save按钮(我认为会选中它)。有什么办法吗?在
这是一个顶层窗口,我用一个函数创建了一个主根目录,并用一个按钮调用这个函数来打开一个新窗口来编辑名称和缩写。在
def SaveChanges(name, initials, person):
print(name)
print(initials)
## if person.initials in employees: del employees[person.initials]
## employees[str(initials)] = person
## employees[str(initials)].name = str(name)
##
## Save()
##
## CreateMain()
def EditEmployee(person):
window = Toplevel()
l = Label(window,text='Edit Employee')
l.grid(row=0,column=0,columnspan=2)
nameLabel = Label(window,text='Name:')
nameLabel.grid(row=1,column=0)
initialsLabel = Label(window,text='Initials:')
initialsLabel.grid(row=2,column=0)
name = Entry(window)
name.grid(row=1,column=1)
name = name.get()
print(name)
initials = Entry(window)
initials.grid(row=2,column=1)
initials = initials.get()
print(initials)
save = Button(window, text='Save',
command= lambda n=name, i=initials, p=person: SaveChanges(n,i,p))
save.grid(row=3, column=0,columnspan=2)
现在的方法是在用户输入任何内容之前收集数据。按下按钮时,您需要调用
.get()
。在如果使用一个类和一个普通方法而不是lambda,这会更简洁。在
相关问题 更多 >
编程相关推荐