|
List Info
Thread: Make GUI
|
|
| Make GUI |

|
2007-03-30 12:35:39 |
|
Dear All I wrote a python script which will take values from a configuration file and perform some operation and give an answer. I would like to make a gui for the script using Tkinter. Could anybody help me to do that? Suppose my script use a variable 'x'; to calculate x^2. I would like to give the value x=2 through a GUI and get the output in the same window. Please help me to find the solution.
Thanking You Vinu V. -- VINU VIKRAM http://iucaa.ernet.in/~vvinuv/
|
| Re: Make GUI |
  United States |
2007-03-30 13:15:29 |
#! /bin/env python2.3
from Tkinter import *
from sys import exit
Root = Tk()
InputVar = StringVar()
OutputVar = StringVar()
######################
# BEGIN: class Command
# Pass arguments to functions from button presses and menu
selections! Nice!
# In your declaration: ...command = Command(func,
args,...)
# Also use in bind() statements
# x.bind("<****>", Command(func,
args...))
class Command:
def __init__(self, func, *args, **kw):
self.func = func
self.args = args
self.kw = kw
def __call__(self, *args, **kw):
args = self.args+args
kw.update(self.kw)
apply(self.func, args, kw)
# END: class Command
###############################
# BEGIN: XSqCalc(InVar, OutVar)
def XSqCalc(InVar, OutVar):
Value = InVar.get().strip()
if Value == "":
OutVar.set("error")
return
Value = float(Value)
Value = Value*Value
OutVar.set(str(Value))
return
# END: def XSqCalc
Label(Root, text = "Enter a value in the fieldnon the
left, click the
n"X^2"
button and see thenanswer in the field on the
right.").pack(side = TOP)
Sub = Frame(Root)
Entry(Sub, width = 10, textvariable = InputVar, bg =
"white",
fg = "black").pack(side = LEFT)
Label(Sub, text = " ").pack(side = LEFT)
Button(Sub, text = "X^2", command =
Command(XSqCalc, InputVar,
OutputVar)).pack(side = LEFT)
Label(Sub, text = " ").pack(side = LEFT)
Entry(Sub, width = 10, textvariable = OutputVar, bg =
"white",
fg = "black").pack(side = LEFT)
Sub.pack(side = TOP, padx = 5, pady = 5)
Button(Root, text = "Quit", command =
exit).pack(side = TOP)
Root.mainloop()
That python2.3 line at the beginning may need to be changed
for your
system.
The text of that first Label() should all be on the same
line.
Bob
On Mar 30, 2007, at 11:35, Vinu Vikram wrote:
> Dear All
> I wrote a python script which will take values from a
> configuration file and perform some operation and give
an answer. I
> would like to make a gui for the script using Tkinter.
Could
> anybody help me to do that? Suppose my script use a
variable 'x' to
> calculate x^2. I would like to give the value x=2
through a GUI and
> get the output in the same window. Please help me to
find the
> solution.
> Thanking You
> Vinu V.
> --
> VINU VIKRAM
> http://iucaa.ernet.in/
~vvinuv/
> _______________________________________________
> Tkinter-discuss mailing list
> Tkinter-discuss python.org
> http://mail.python.org/mailman/listinfo/tkinter-discuss
a>
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss
a>
|
|
| Re: Make GUI |

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