On Thu, 23 Nov 2006 02:07:17 -0800 Dick Moores <[EMAIL PROTECTED]> wrote:
> I think I see how to make a simple GUI with Tkinter, but I still > don't see how to use one with even a simple, previously non-GUI > Python script. I'm wondering if someone could create an example for > me, using the 2 functions fact() and printFact() at > <http://www.rcblue.com/Python/fact.txt>. I'm thinking of something > really plain and simple. A frame widget, an entry widget, and a text > widget. The user enters an integer n (which can be very large), and > the text widget shows n! in 2 formats, as the output of a modified > printFact(). Maybe a button is also necessary? > Hi Dick, assuming the functions you want to use are in a separate module "fact.py", a simple (and dirty) solution might look like from Tkinter import * import fact root = Tk() entry = Entry(root) entry.pack(side='top') text = Text(root) text.pack(side='top') # now you need a callback that calls fact() and inserts the result into the text widget def compute_fact(): value = int(entry_get()) result = fact.fact(value) newtext = 'Result: %d\n' % result# change this to the output format you wish text.insert('end', result) button = Button(root, text="Compute fact", command=compute_fact) button.pack(side='top') root.mainloop() In case you do not want an extra button, you can bind the compute_fact() callback to Key-Return events for the entry: entry.bind('<Return>', compute_fact) however you will have to change the callback's constructor to accept an event object as argument: def compute_fact(event): (...) or : def compute_fact(event=None): (...) which allows both. In case you want the output formatting done in the fact module, change the printFact() function, so that it *returns* a string instead of printing it to stdout, so you can use a callback like: def compute_fact(event=None): text.insert('end', fact.printFact(int(entry.get()))) I hope this helps Michael _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor