_tkinter.TclError: can't set "PY_VAR0": invalid command name "-1210125972check"

G

Gregor Horvath

Hi,

I searched the web and docs but cannot figure out whats wrong with this
code:

#!/usr/bin/python

import Tkinter as Tk

class testtk(Tk.Frame):

def __init__(self):
self.root = Tk.Tk()
Tk.Frame.__init__(self,self.root)
self.frame = Tk.Frame(self.root)
self.var = Tk.StringVar()
self.var.trace_variable('w',self.check)
Tk.Entry(self.frame, textvariable = self.var).pack()
self.frame.pack()
Tk.mainloop()

def check():
pass

if __name__ == "__main__":
t = testtk()
t.var.set("TEST")

Result:

Traceback (most recent call last):
File "<stdin>", line 22, in ?
File "/usr/lib/python2.3/lib-tk/Tkinter.py", line 191, in set
return self._tk.globalsetvar(self._name, value)
_tkinter.TclError: can't set "PY_VAR0": invalid command name
"-1210125972check"


Any ideas, why I cant set the variable var?
 
G

Gregor Horvath

Gregor said:
if __name__ == "__main__":
t = testtk()
t.var.set("TEST")

Result:

_tkinter.TclError: can't set "PY_VAR0": invalid command name
"-1210125972check"


Any ideas, why I cant set the variable var?

Ok. The problem is that the program enters the mainloop on t = testtk()
and t.var.set("TEST") is executed when the program ends.

But, what I want to do is to let another program create my tkinter GUI
via initiating my class through COM. Then the COM-Client should be able
to set values of the tkinter variables from "the outside".

How to do this?

Do I have to make my GUI program threaded ? like described here:

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/82965

The mainloop resides in one thread and the other thread provides the COM
object and queues the foreign COM method calls to the GUI thread?

Is there a simpler solution?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top