我试图为用户创建一个简单的弹出文本条目,用户在其中输入文本并点击提交(按钮)。单击提交后,我希望弹出的输入框关闭并继续使用其余代码。以下是我从这里的一篇旧帖子中借来的显示示例代码:
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()
函数内部?
如果我理解正确,那么您所需要做的就是在getName
函数末尾调用根窗口的destroy
方法:
def getName():
print ent.get()
root.destroy()
这样做相当于手动单击窗口角落中的X按钮。
替代方法:
由于弹出窗口没有太多内容,您还可以在GUI中删除几行代码,节省一些CPU,并使用以下命令获得几乎相同的输出:
submitvariablename=raw_input('Please enter a Name')
功能相同,速度更快、更清洁。
只是一个想法。