Dear Bob<br>Thank you very much for your detailed script. I could do my script using this.<br>Thank you once again<br>Vinu V.<br><br><div><span class="gmail_quote">On 3/30/07, <b class="gmail_sendername">Bob Greschke</b> &lt;
<a href="mailto:bob@passcal.nmt.edu">bob@passcal.nmt.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">#! /bin/env python2.3
<br><br>from Tkinter import *<br>from sys import exit<br><br>Root = Tk()<br><br>InputVar = StringVar()<br>OutputVar = StringVar()<br><br><br>######################<br># BEGIN: class Command<br># Pass arguments to functions from button presses and menu
<br>selections! Nice!<br># In your declaration:&nbsp;&nbsp;...command = Command(func, args,...)<br># Also use in bind() statements<br>#&nbsp;&nbsp; x.bind(&quot;&lt;****&gt;&quot;, Command(func, args...))<br>class Command:<br>&nbsp;&nbsp;&nbsp;&nbsp; def __init__(self, func, *args, **kw):
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.func = func<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.args = args<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://self.kw">self.kw</a> = kw<br>&nbsp;&nbsp;&nbsp;&nbsp; def __call__(self, *args, **kw):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; args = self.args+args<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kw.update(<a href="http://self.kw">
self.kw</a>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apply(self.func, args, kw)<br># END: class Command<br><br><br><br><br>###############################<br># BEGIN: XSqCalc(InVar, OutVar)<br>def XSqCalc(InVar, OutVar):<br>&nbsp;&nbsp;&nbsp;&nbsp; Value = InVar.get().strip()
<br>&nbsp;&nbsp;&nbsp;&nbsp; if Value == &quot;&quot;:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutVar.set(&quot;error&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return<br>&nbsp;&nbsp;&nbsp;&nbsp; Value = float(Value)<br>&nbsp;&nbsp;&nbsp;&nbsp; Value = Value*Value<br>&nbsp;&nbsp;&nbsp;&nbsp; OutVar.set(str(Value))<br>&nbsp;&nbsp;&nbsp;&nbsp; return<br># END: def XSqCalc<br>
<br><br><br><br>Label(Root, text = &quot;Enter a value in the field\non the left, click the<br>\n\&quot;X^2\&quot;<br>button and see the\nanswer in the field on the right.&quot;).pack(side = TOP)<br>Sub = Frame(Root)<br>Entry(Sub, width = 10, textvariable = InputVar, bg = &quot;white&quot;, \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fg = &quot;black&quot;).pack(side = LEFT)<br>Label(Sub, text = &quot; &quot;).pack(side = LEFT)<br>Button(Sub, text = &quot;X^2&quot;, command = Command(XSqCalc, InputVar, \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputVar)).pack(side = LEFT)
<br>Label(Sub, text = &quot; &quot;).pack(side = LEFT)<br>Entry(Sub, width = 10, textvariable = OutputVar, bg = &quot;white&quot;, \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fg = &quot;black&quot;).pack(side = LEFT)<br>Sub.pack(side = TOP, padx = 5, pady = 5)
<br>Button(Root, text = &quot;Quit&quot;, command = exit).pack(side = TOP)<br><br>Root.mainloop()<br><br><br>That python2.3 line at the beginning may need to be changed for your<br>system.<br>The text of that first Label() should all be on the same line.
<br><br>Bob<br><br>On Mar 30, 2007, at 11:35, Vinu Vikram wrote:<br><br>&gt; Dear All<br>&gt; I wrote a python script which will take&nbsp;&nbsp;values from a<br>&gt; configuration file and perform some operation and give an answer. I
<br>&gt; would like to make a gui for the script using Tkinter. Could<br>&gt; anybody help me to do that? Suppose my script use a variable &#39;x&#39; to<br>&gt; calculate x^2. I would like to give the value x=2 through a GUI and
<br>&gt; get the output in the same window. Please help me to find the<br>&gt; solution.<br>&gt; Thanking You<br>&gt; Vinu V.<br>&gt; --<br>&gt; VINU VIKRAM<br>&gt; <a href="http://iucaa.ernet.in/~vvinuv/">http://iucaa.ernet.in/~vvinuv/
</a><br>&gt; _______________________________________________<br>&gt; Tkinter-discuss mailing list<br>&gt; <a href="mailto:Tkinter-discuss@python.org">Tkinter-discuss@python.org</a><br>&gt; <a href="http://mail.python.org/mailman/listinfo/tkinter-discuss">
http://mail.python.org/mailman/listinfo/tkinter-discuss</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>VINU VIKRAM<br><a href="http://iucaa.ernet.in/~vvinuv/">http://iucaa.ernet.in/~vvinuv/</a>