Kevin Walzer wrote: > I'm trying to manage user preferences in a Tkinter application by > initializing some values that can then be configured from a GUI. The > values are set up as a dict, like so: > > self.prefs= { > 'interface': '-en1', > 'verbose': '-v', > 'fontname': 'Courier', > 'point': 12, > } > > To link these values to the appropriate Tkinter variables, I'm using > code like this: > > self.prefs['interface'] = StringVar() > self.prefs['interface'].set("-en0") # initialize
Are you sure this particular "prefs" is a dictionary and not some kind of Tkinter entity, like, say, a Toplevel? E.g. py> from Tkinter import * py> L = Label() py> L['prefs'] = 'avalue' ------------------------------------------------------------ Traceback (most recent call last): File "<ipython console>", line 1, in <module> File "/data10/users/jstroud/Programs/lib/python2.5/lib-tk/Tkinter.py", line 1204, in __setitem__ self.configure({key: value}) File "/data10/users/jstroud/Programs/lib/python2.5/lib-tk/Tkinter.py", line 1197, in configure return self._configure('configure', cnf, kw) File "/data10/users/jstroud/Programs/lib/python2.5/lib-tk/Tkinter.py", line 1188, in _configure self.tk.call(_flatten((self._w, cmd)) + self._options(cnf)) <class '_tkinter.TclError'>: unknown option "-prefs" Does this error message look familiar? Consider: py> L['text'] = 'bob' py> L.cget('text') 'bob' py> L.config(text='carol') py> L.cget('text') 'carol' James > This raises an error in Tkinter: > > Exception in Tkinter callback > Traceback (most recent call last): > File > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk/Tkinter.py", > > line 1403, in __call__ > return self.func(*args) > File "/Users/kevin/Programming/packetstream/packetstream-classes.py", > line 293, in setPrefs > self.prefs['interface'] = StringVar() > File > "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk/Tkinter.py", > > line 3237, in __setitem__ > self.tk.call(self.name, 'configure', '-'+key, value) > TclError: unknown option "-interface" > > Can someone help me smooth this out--to get dict key-values into a > Tkinter variable like StringVar()? > > Thanks. > -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list