我的代码中的StringVar存在问题。我的问题是变量是空的,它不包括条目的值。 我有两个不同的方法,一个是有效的,另一个没有,但显然是相同的。
这项工作:
def veentanaPrincipal():
top = Tkinter.Tk()
var = Tkinter.StringVar()
def buscarPorNombre():
pa = Tkinter.Tk()
L1 = Tkinter.Label(pa, text="Introduzca el nombre"+"\n"+ "completo del remitente:")
E1 = Tkinter.Entry(pa, textvariable = var)
def buscar():
buscarPorNombreYApellidos(var.get())
B1 = Tkinter.Button(pa, text ="Buscar", command = buscar)
L1.pack(side = Tkinter.LEFT)
B1.pack(side = Tkinter.RIGHT)
E1.pack( side = Tkinter.RIGHT)
B = Tkinter.Button(top, text ="Buscar por Nombre y Apellidos", command = buscarPorNombre)
B.pack()
top.mainloop()
这不起作用:
{{1}}
请帮帮我。 感谢
答案 0 :(得分:0)
var
是局部变量,因此您无法在另一个函数中访问它。
您可以使用global
(或学习“对象编程”)
import Tkinter as tk
def buscar():
global var
print var.get()
def buscarPorNombre():
global var
var = tk.StringVar()
E1 = tk.Entry(top, textvariable=var)
E1.pack(side=tk.RIGHT)
B1 = tk.Button(top, text="OK", command=buscar)
B1.pack(side=tk.RIGHT)
top = tk.Tk()
B = tk.Button(top, text="RUN", command=buscarPorNombre)
B.pack()
top.mainloop()