无法创建按钮(使用tkinter创建)自动退出

时间:2018-03-02 16:46:28

标签: python python-3.x tkinter

我在tkinker中使用python编写了一个脚本。当我运行脚本时,它会收到一个输入并将其打印到控制台。它工作得很好。

我想要做的是以这样的方式向现有脚本添加任何功能,以便在按下inputbox按下get按钮后,它将在控制台中打印该值并自动退出。我的现有脚本再一次能够打印值。我需要在打印完成后立即退出该按钮。对此的任何帮助将受到高度赞赏。

以下是我迄今为止所做的尝试:

from tkinter import *

master = Tk()

e = Entry(master)
e.pack()
e.focus_set()

callback = lambda : get_val(e.get())
get_val = lambda item: print(item)  #this extra function is for further usage

Button(master, text="get", width=10, command=callback).pack()

master.mainloop()

这就是inputbox的样子:

enter image description here

2 个答案:

答案 0 :(得分:7)

callback功能修改为:

def callback():
    get_val(e.get()) #Gets your stuff done
    master.destroy() #Breaks the TK() main loop
    exit() #Exits the python console
  

这里,master.destroy()打破master.mainloop()循环,从而终止GUI,最后exit()使其退出python控制台。

答案 1 :(得分:3)

维护lambda语法:

callback = lambda : (print(e.get()), master.destroy())

关键是致电master.destroy()