From: AJ on 30 Jul 2010 19:52 Dear users, I have written a sample program that ran correctly with earlier than Mac OS 10.6. The answer field Label does not align correctly. I downloaded the latest Python 2.7 release but still did not solve the problem. Look for line "L4.place(relx=0.32,rely=0.56, anchor=W)" #!/usr/bin/env python from Tkinter import * from tkMessageBox import * import sys win = Tk() #win.tk.call('console', 'hide') try: win.tk.call('after','idle','console','hide') except TclError: pass ScreenX = win.winfo_screenwidth() ScreenY = win.winfo_screenheight() ScreenX = (ScreenX/2) - 250 ScreenY = (ScreenY/2) - 200 win.geometry('500x300%+d%+d' %(ScreenX, ScreenY)) win.title("'Place' Geometry Test") win.resizable(width=False, height=False) FirstN = StringVar() SecondN = StringVar() Answer = StringVar() Verd12 = ("Verdana","11") Verd16 = ("Verdana","16") Verd25 = ("Verdana","25") Sys16 = ("System" ,"16") #----------------- AboutDialog ---------------------------- class AboutDialog(Toplevel): def __init__(self, parent): Toplevel.__init__(self, parent) self.configure(bg = 'white', borderwidth=3) self.geometry('200x300%+d%+d' %(ScreenX, ScreenY)) self.title('About...') self.resizable(height=FALSE, width=FALSE) self.transient(parent) self.grab_set() self.protocol("WM_DELETE_WINDOW", self.OkToExit) self.parent = parent self.FillDialog() self.Btn.focus_set() self.bind('<Return>',self.OkToExit) self.bind('<Escape>',self.OkToExit) self.bind('<Command-KeyPress-Q>', Done) self.bind('<Command-KeyPress-q>', Done) self.wait_window() def FillDialog(self): self.AboutText = "\n\n\nPlace Geometry Test\n\nBy\n\nAmin Aljuffali" self.Lbl = Label(self, text=self.AboutText, font=Verd16, bg = 'white') self.Lbl.pack(side=TOP) self.Lb2 = Label(self, text="April 1, 2007", height = 1, font=Verd12, bg = 'white') self.Lb2.pack(side=TOP) self.Lb3 = Label(self, text=" ", height = 3, font=Verd12, bg = 'white') self.Lb3.pack(side=TOP) self.Btn = Button(self, text='Done', font=Sys16, width=8, height=1, command=self.OkToExit) self.Btn.pack(side=TOP) self.Lb4 = Label(self, text=" ", height = 3, font=Verd12, bg = 'white') self.Lb4.pack(side=BOTTOM) self.update() def OkToExit(self, event=None): self.destroy() #---------------------------------------------------------- def ShowDialog(): AboutDialog(win) def done(): win.destroy() win.quit def Done(e): win.destroy() win.quit def CheckAlfanumeric(x): if x == '': return False for ch in x: if ch not in['.','-','+','0','1','2','3','4','5','6','7','8','9','e','E']: return False return True def Multiply(): #global FirstN, SecondN, Answer try: a = FirstN.get().strip() if not CheckAlfanumeric(a): raise ValueError b = SecondN.get().strip() if not CheckAlfanumeric(b): raise ValueError FirstN.set(a) SecondN.set(b) Answer.set(str(float(a) * float(b))) except ValueError: showwarning("Warning...","Input Error!") return def MakeToplevelMenu(topwin): top = Menu(topwin) topwin.config(menu=top) if sys.platform == 'darwin' and '.app' in sys.executable: application = Menu(top, name='apple') application.add_command(label='About...', command=ShowDialog, underline=0) top.add_cascade(label='PlaceTest', menu=application, underline=0) fileMenu = Menu(top, tearoff=0) fileMenu.add_command(label='Exit', command=done, underline=0) top.add_cascade(label='File', menu=fileMenu, underline=0) helpMenu = Menu(top, tearoff=0) helpMenu.add_command(label='About...', command=ShowDialog, underline=0) top.add_cascade(label='Help', menu=helpMenu, underline=0) return MakeToplevelMenu(win) L1 = Label(win, text='Multiply Two Numbers', font=Verd25, bg = 'white') L2 = Label(win, text='First Number:', font=Verd16, bg = 'white') L3 = Label(win, text='Second Number:', font=Verd16, bg = 'white') L4 = Label(win, text='', textvariable=Answer, font=Sys16, bg = 'white', bd=1, width=20, height=1, anchor=W, relief=SOLID) L5 = Label(win, text='Written by Amin Aljuffali', font=Verd12,padx=2, bg = 'white', anchor=W, relief=FLAT) B1 = Button(win, text='Multiply', font=Sys16, width=19, height=1, command=Multiply) B2 = Button(win, text='Quit', font=Sys16, width=19, height=1, command=done) F1 = Frame(win, relief=FLAT, bd=0, bg='#336699') F2 = Frame(win, relief=FLAT, bd=0, bg='#336699') F3 = Frame(win, relief=FLAT, bd=0, bg='#336699') E1 = Entry(win, textvariable=FirstN, relief=SOLID, font=Sys16, bg = 'white',bd=1) E2 = Entry(win, textvariable=SecondN, relief=SOLID, font=Sys16, bg = 'white', bd=1) win.bind('<Command-KeyPress-q>', Done) win.bind('<Command-KeyPress-Q>', Done) F1.place(relx=0.0,rely=0.01, anchor=NW, width=600, height=5) L1.place(relx=0.5,rely=0.09, anchor=CENTER) F2.place(relx=0.0,rely=0.16, anchor=NW, width=600, height=5) E1.place(relx=0.32,rely=0.32, anchor=W) E2.place(relx=0.32,rely=0.44, anchor=W) L2.place(relx=0.3,rely=0.32, anchor=E) L3.place(relx=0.3,rely=0.44, anchor=E) L4.place(relx=0.32,rely=0.56, anchor=W) B1.place(relx=0.525,rely=0.69, anchor=CENTER) B2.place(relx=0.525,rely=0.81, anchor=CENTER) F3.place(relx=0.0,rely=0.9, anchor=W, width=600, height=5) L5.place(relx=0.01,rely=0.95, anchor=W) E1.focus_set() win.update() win.mainloop() sys.exit(0)
From: rantingrick on 30 Jul 2010 20:07 On Jul 30, 6:52 pm, AJ <ajuff...(a)yahoo.com> wrote: > Dear users, > > I have written a sample program that ran correctly with earlier than > Mac OS 10.6. The answer field Label does not align correctly. I > downloaded the latest Python 2.7 release but still did not solve the > problem. Look for line "L4.place(relx=0.32,rely=0.56, anchor=W)" DO YOURSELF A HUGE FAVOR AJ... Learn how to use the "pack" and "grid" geometry managers available in Tkinter before it's too late. Well, unless of course your a sadist. In that case just ignore my post completely. 8^O http://effbot.org/tkinterbook/tkinter-index.htm#introduction
From: AJ on 30 Jul 2010 23:45 On Jul 30, 5:07 pm, rantingrick <rantingr...(a)gmail.com> wrote: > On Jul 30, 6:52 pm, AJ <ajuff...(a)yahoo.com> wrote: > > > Dear users, > > > I have written a sample program that ran correctly with earlier than > > Mac OS 10.6. The answer field Label does not align correctly. I > > downloaded the latest Python 2.7 release but still did not solve the > > problem. Look for line "L4.place(relx=0.32,rely=0.56, anchor=W)" > > DO YOURSELF A HUGE FAVOR AJ... Learn how to use the "pack" and "grid" > geometry managers available in Tkinter before it's too late. Well, > unless of course your a sadist. In that case just ignore my post > completely. 8^O > > http://effbot.org/tkinterbook/tkinter-index.htm#introduction I know the pack and grid. They do not allow me to position my widget the way I want. You have to go back to first grade and relearn the phrase If you have nothing nice to say do not say anything at all.
From: Peter Otten on 31 Jul 2010 03:55 AJ wrote: > I have written a sample program that ran correctly with earlier than > Mac OS 10.6. The answer field Label does not align correctly. I > downloaded the latest Python 2.7 release but still did not solve the > problem. Look for line "L4.place(relx=0.32,rely=0.56, anchor=W)" The underlying Tcl/Tk is more likely to be the cause of your problem, so you'd have to look at that. I'm on Linux with Python2.6 and Tcl/Tk 8.5, and don't see a misalignment. Stab in the dark: try creating L4 with explicit padding: L4 = Label(..., padx=0) Peter PS: Rantingrick is right; you should use one of the other geometry managers
From: r on 31 Jul 2010 11:04 On Jul 31, 2:55 am, Peter Otten <__pete...(a)web.de> wrote: > PS: Rantingrick is right; you should use one of the other geometry managers Incidentally I was actually writing a version of the OP's script using the grid manager when i found his nasty response. So I think i'll just keep it for me self now. Good luck AJ. ;-)
|
Next
|
Last
Pages: 1 2 Prev: os.fork on linux defunct Next: Anushka for Shape FX Hot Shot Thigh Gel |