在Python中关闭Tkinter输入框
我想做一个简单的弹出框,让用户输入一些文字,然后点击提交(一个按钮)。用户点击提交后,我希望这个弹出框能关闭,然后继续执行后面的代码。下面是我从一个旧帖子借来的示例代码:
from Tkinter import *
root = Tk()
nameLabel = Label(root, text="Name")
ent = Entry(root, bd=5)
def getName():
print ent.get()
submit = Button(root, text ="Submit", command = getName)
nameLabel.pack()
ent.pack()
submit.pack(side = BOTTOM)
root.mainloop()
print "Rest of the code goes here"
我对Tkinter不太熟悉,所以不太确定在用户点击“提交”后,应该在哪里以及如何调用合适的函数来关闭输入框。我猜这个函数应该放在getName()
函数里面吧?
2 个回答
0
另一种方法:
因为你的弹出窗口内容不多,所以你可以减少一些代码行,这样可以节省一些处理器的资源,并且得到几乎相同的效果,代码可以写成这样:
submitvariablename=raw_input('Please enter a Name')
这样做功能一样,而且运行得更快、更简洁。
只是个建议。
3
如果我理解得没错,你只需要在getName
函数的最后调用根窗口的destroy
方法:
def getName():
print ent.get()
root.destroy()
这样做就相当于手动点击窗口角落的X按钮。