关闭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()函数内部?

如果我理解正确,那么您所需要做的就是在getName函数末尾调用根窗口的destroy方法:

def getName():
    print ent.get()
    root.destroy()

这样做相当于手动单击窗口角落中的X按钮。

替代方法:


由于弹出窗口没有太多内容,您还可以在GUI中删除几行代码,节省一些CPU,并使用以下命令获得几乎相同的输出:

submitvariablename=raw_input('Please enter a Name')

功能相同,速度更快、更清洁。

只是一个想法。

相关内容

  • 没有找到相关文章

最新更新