来自函数的 tkinter 入口变量
tkinter entry variable from function
这应该很容易,但我正在为寻找我需要的答案而苦恼。下面的代码弹出一个输入window。我在输入字段中输入条目,函数 show_entry_fields() 获取输入,然后 window 关闭。然后我想在后面的代码中使用新的入口变量,但它们恢复为初始的全局值。我将它们定义为全局的,这样我就可以在整个脚本中使用它们,但是入口函数无法更改它们。我怎样才能从用户那里获得输入,然后对程序的其余部分可用?
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)
这是否解决了问题?
def show_entry_fields():
global site, score, master
site = e1.get()
score = e2.get()
master.destroy()
至少程序末尾的打印是正确答案。
这应该很容易,但我正在为寻找我需要的答案而苦恼。下面的代码弹出一个输入window。我在输入字段中输入条目,函数 show_entry_fields() 获取输入,然后 window 关闭。然后我想在后面的代码中使用新的入口变量,但它们恢复为初始的全局值。我将它们定义为全局的,这样我就可以在整个脚本中使用它们,但是入口函数无法更改它们。我怎样才能从用户那里获得输入,然后对程序的其余部分可用?
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)
这是否解决了问题?
def show_entry_fields():
global site, score, master
site = e1.get()
score = e2.get()
master.destroy()
至少程序末尾的打印是正确答案。