Thanks for all the suggestions guys. I'm realizing that I need to chose more of a specific paradigm. With closures, I was able to stay away from unneeded classes before but Tk brings it to a whole other level.
Thanks again, Luke On Jul 3, 2:50 am, Paul Rubin <http://[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] writes: > > I'm looking for a good example of how to correctly abstract TK code > > from the rest of my program. I want to just get some user info and > > then get 4 values from the GUI. Right now I've written it OOP per the > > examples on python.org but it doesn't seem to be meshing very well > > with the rest of my project. > > Simplest: just have gui operations call the application code. The > application main loop is just the gui event loop. Example (first tk > program I ever wrote, and one of my first python programs): > > http://www.nightsong.com/phr/python/calc.py > > That might be enough for what you're doing. > > Fancier: put gui in separate thread. Be careful, it's not reentrant; > all communication with the application has to be through queues, sort > of like writing a miniature web server. Most straightforward is to > pass tuples like (function, args, **kwargs) through the queues, where > the opposite end invokes the function on the arg list. There are some > recipes in the Python cookbook for triggering the event loop on a > periodic timeout from inside tkinter. > > See also "model-view-controller" for a more complex design approach > intended to separate the interface from the application logic. > > Finally, consider total separation by embedding an http server in the > application, so the gui is a web browser and you write a web app. > It's often easier to code a simple html interface than to mess with > the damn Tk widgets and trying to get them to look decent on the > screen, plus it lets you easily put the client on a remote machine, > support multiple clients simultaneously, etc. -- http://mail.python.org/mailman/listinfo/python-list