Problema con ‘StringVar’ en el progtwig Python

Estoy tratando de escribir una IU MUY simple en Python usando Tkinter. Me he encontrado con un pequeño problema con la clase StringVar . La cosa es que, cuando ejecuto el script de Python, aparece un error en la línea que inicializa la variable StringVar . He escrito un progtwig de muestra con este problema que me gustaría comenzar a trabajar:

 from Tkinter import * var = StringVar() var.set('test'); 

Cuando lo ejecuto a través de python veo este error:

 $ python test.py Traceback (most recent call last): File "test.py", line 3, in  var = StringVar() File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 254, in __init__ Variable.__init__(self, master, value, name) File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 185, in __init__ self._tk = master.tk AttributeError: 'NoneType' object has no attribute 'tk' Exception AttributeError: "StringVar instance has no attribute '_tk'" in <bound method StringVar.__del__ of > ignored 

Tengo la sensación de que este es un problema con mi instalación de Python, pero es posible que esté haciendo algo mal. Estoy usando la versión 2.6.5 de python en Ubuntu Linux si eso marca la diferencia.

Creo que deberías llamar a Tk () explícitamente antes de invocar StringVar.

Solo haz esto:

 from Tkinter import * Tk() # Add this var = StringVar() var.set('test'); 

Nunca he hecho nada con Tkinter, pero aquí parece que esta clase StringVar hereda de una clase variable de base, como se puede ver en el rastreo con la llamada a Variable.__init__() . La excepción se generó con la statement “self.tk = master.tk”. El siguiente mensaje de error indica que este parámetro “maestro” es NoneType, y por lo tanto no tendría tal atributo tk. Consulte la documentación de Tkinter para StringVar aquí: http://epydoc.sourceforge.net/stdlib/Tkinter.StringVar-class.html

el parámetro maestro se establece en predeterminado en Ninguno. Parece que master debería suministrarse como un widget que podría contener este StringVar (es decir, ¿tendría sentido tener un StringVar no asociado con un widget?). Debería decir que definitivamente es necesario asociar un objeto StringVar con un widget para que tenga un atributo ‘tk’.