Tkinter, resize window, keep widgets relative placements?

skanemupp at yahoo.se skanemupp at yahoo.se
Thu Apr 10 13:22:57 EDT 2008


here i didi it with pack() but when i try to use the answerwidget it
gtes all f***** up. any suggestions?


from __future__ import division
import Tkinter
from Tkinter import *

mygui = Tkinter.Tk()

mygui.title("Calculator")

##l = Label(mygui, text="Answer: ")
##l.grid(row=2, column=1, columnspan=2)

e = Entry(mygui)
e.grid(row=1, column=1, columnspan=4)

c = Entry(mygui)
c.grid(row=2, column=1, columnspan=4)

def Disp(nstr):
    e.insert(INSERT, nstr)

def Calc():
    expr=e.get()
    c.delete(0, END)
    try:
        c.insert(END, eval(expr))
    except:
        c.insert(END, "Not computable")

def Erase():
    e.delete(0,END)
    c.delete(0, END)

def Backspace():
    a=len(e.get())
    e.delete(a-1,END)
    #e.delete(INSERT, END)
    #e.delete(ANCHOR,END)


x = 1
y = 4
for char in '123+456-789*0()/.':
    b = Button(mygui, text=char, command=lambda n=char:Disp(n),
width=2, height=1)
    b.grid(row=y, column=x)
    x=x+1
    if x==5:
        x=1
        y=y+1

b = Button(mygui, text="^", command=lambda n="**":Disp(n), width=2,
height=1)
b.grid(row=8, column=2)
b = Button(mygui, text="C",command=Erase, width=2, height=1)
b.grid(row=8, column=3)
b = Button(mygui, text="c",command=Backspace, width=2, height=1)
b.grid(row=8, column=4)
b = Button(mygui, text="=",command=Calc, width=18, height=1)
b.grid(row=9, column=1, columnspan=8)

mygui.mainloop()



More information about the Python-list mailing list