这应该很容易,但我正在为我需要的答案而烦恼。下面的代码弹出一个输入窗口。我在输入字段中输入,函数show_entry_fields()获取输入并关闭窗口。然后我想在后面的代码中使用新的入口变量,但是它们会恢复到它们的初始全局值。我将它们定义为全局,因此我可以在整个脚本中使用它们,但是入口函数无法更改它们。如何从用户那里获得可用于程序其余部分的输入?
import tkinter as tk
site = 'cats'
score = 100
def show_entry_fields():
site = e1.get()
score = e2.get()
master.destroy()
#print(site,score)
master = tk.Tk()
master.columnconfigure(1, weight=1)
tk.Label(master, text="website").grid(row=0)
tk.Label(master, text="Image Ranking").grid(row=1)
e1 = tk.Entry(master)
e2 = tk.Entry(master)
e1.insert(0,site)
e1.grid(row=0, column=1, sticky='EW')
e2.grid(row=1, column=1, sticky='EW')
tk.Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky='W', pady=4)
tk.Button(master, text='Go!', command=show_entry_fields).grid(row=3, column=1, sticky='W', pady=4)
master.mainloop( )
print(site, score)
答案 0 :(得分:0)
这是否解决了这个问题?
def show_entry_fields():
global site, score, master
site = e1.get()
score = e2.get()
master.destroy()
至少程序结束时的打印正在打印正确的答案。