【问题标题】:Closing a Tkinter Entry Box in Python在 Python 中关闭 Tkinter 输入框
【发布时间】:2014-06-09 01:57:10
【问题描述】:

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

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

【问题讨论】:

    标签: python input tkinter widget tkinter-entry


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      替代方法:


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

      submitvariablename=raw_input('Please enter a Name')
      

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

      只是一个想法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-22
        • 1970-01-01
        • 2018-09-17
        • 2020-05-16
        • 2018-03-20
        • 2018-05-28
        • 1970-01-01
        相关资源
        最近更新 更多