所以我试图从用户那里获取数据,然后我想关闭gui窗口,并在点击“Enter”后立即将数据保存到我的代码的变量中。但窗户就在那里。如何保存数据,gui窗口同时关闭?
#pop up window
def show_entry_fields():
global ModelNumber,PowerOutput,SerialNumber
ModelNumber=e1.get()
PowerOutput=e2.get()
SerialNumber=e3.get()
master = Tk()
master.title("Model Information")
master.geometry("500x300")
master.iconbitmap("square.ico")
Label(master, text="Model Information").grid(row=0,column=1)
Label(master, text="Model Number ").grid(row=2)
Label(master, text="Power Output (w)").grid(row=3)
Label(master,text="Serial Number").grid(row=4)
e1 = Entry(master)
e2 = Entry(master)
e3 = Entry(master)
e1.grid(row=2, column=1)
e2.grid(row=3, column=1)
e3.grid(row=4, column=1)
Button(master, text='Enter', command=show_entry_fields).grid(row=6,
column=1, sticky=W, pady=4)
mainloop()
master.withdraw()
答案 0 :(得分:3)
我不太明白这个问题。看起来您需要做的就是创建一个可以执行这两个操作的函数。
def save_and_quit()
show_entry_fields()
master.quit()
...
button = Button(master, text='Enter', command=save_and_quit)
button.grid(row=6, column=1, sticky=W, pady=4)
答案 1 :(得分:-3)
这就是我最终要做的事情。 它执行show_entry_fields函数内部的操作(将数据保存为全局变量),并在按下"输入"
后立即获取GUI窗口 Button(master, text='Enter', command=lambda: [f() for f in [show_entry_fields, master.quit]]).grid(row=6, column=1, sticky=W, pady=4)