Hi All,
I would like to write a Wizard that spawns a separate window. Right now I'm
just calling Tkinter.Toplevel() with no arguments but it dies with
non-deterministic tkinter errors. I think the issue is I need to pass the
Tkinter.Tk() instance into the Toplevel command.
1) Is there a way I can get access to the main Tkinter.Tk() instance from
within my Wizard?
I've made a simple version of what I would like that shows the behavior I'm
seeing. To run, copy this into a file called testWizard.py and place into
the wizard directory. Since I installed from Distutils on linux, my wizard
directory is /usr/local/lib/python2.5/site-packages/pymol/wizard/. Then
fire up pymol and type into the command line 'wizard testWizard'. If you
version is <1.0 try deleting '_self=cmd' and '_self'. For me it crashes
about every third or so time, usually with different errors.
from pymol.wizard import Wizard
from pymol import cmd
import pymol
import Tkinter
class TestWizard(Wizard):
def __init__(self,_self=cmd):
Wizard.__init__(self, _self)
self.res_table = Tkinter.Tk() # <- pass app.root in here????
for i in range( 1000 ): Tkinter.Button(self.res_table,
text=str(i)).pack()
Thanks in advance!
Matt