1

我正在尝试为用户创建一个简单的弹出文本条目,其中用户输入文本并点击提交(一个按钮)。单击提交后,我希望弹出输入框关闭并继续执行其余代码。以下是我从此处的旧帖子中借用的显示示例代码:

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

4

2 回答 2

3

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

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

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

于 2014-04-24T00:53:12.150 回答
0

替代方法:


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

submitvariablename=raw_input('Please enter a Name')

相同的功能,更快,更清洁。

只是一个想法。

于 2014-04-27T17:39:23.097 回答