At 08:59 AM 11/26/2006, Michael Lange wrote: >On Sat, 25 Nov 2006 17:23:39 -0800 >Dick Moores <[EMAIL PROTECTED]> wrote: > > > I've done a lot of fiddling around with setting "side=left", and > > trying to put all the buttons inside a second Frame inside the first > > one, but I can't get the layout I want, which is the Label on top of > > the Entry, then a row of the first 3 buttons (which respectively > > trigger 3 different computations on the integer the user enters). > > Then below that, the Exit button, with the Text widget at the bottom. > > How to do this? Is it impossible with the pack() method? > > > >It is certainly not impossible, as long as you do not mind creating >a bunch of extra Frames, however to me this really sound like a >job for grid() . >You could simply use grid(row=<xx> , column=0, columnspan=2) >for the widgets that should use the whole window's width and grid >the 3 buttons into columns 0, 1 and 2 .
Well, I'm having a terrible time with grid(). I do have the 6 buttons in the same row, but they're a real mess. Someone please run this and tell me how to get them looking better. When I use pack(), the buttons are nicely centered, but lined up vertically, one above the other. Maybe I can live with that. But I'd still like to learn how to use grid() well. Dick ============================================================ from Tkinter import * root = Tk() root.option_add('*font', ('verdana', 11)) root.title("Fun with integers") fram = Frame(root).grid() Label(fram, text="Enter a positive integer, n", fg="#996666").grid(row=0,column=3) entry = Entry(fram, fg="red", bg="#DCDCDC", width = 30) entry.focus_set() entry.grid(row=2,column=3, padx=5, pady=5) b1=Button(fram, text="Compute n!", bg="black", fg="white", width = 19,command=compute_fact) b1.grid(row=4,column=0,columnspan=2,sticky=W) b2=Button(fram, text="Partially spell n", fg="black", bg="white", width = 19,command=integer_spell) b2.grid(row=4,column=1,columnspan=2,sticky=W) b3=Button(fram, text="Compute factors of n", bg="#D3D3D3", fg="yellow", width = 19,command=compute_factors) b3.grid(row=4,column=2,columnspan=2,sticky=W) b4=Button(fram, text="Find primes in [n, n+99]", bg="yellow", fg="red", width = 19,command=primes_in_interval) b4.grid(row=4,column=3,columnspan=2,sticky=W) long_text = "See the largest number that can be spelled" b5=Button(fram, text=long_text, fg="green", bg="#BF6AF5", width = 19,command=largest_number) b5.grid(row=4,column=4,columnspan=2,sticky=W) b6=Button(fram, text="EXIT", fg="white", bg="red", width = 19,command=sys.exit) b6.grid(row=4,column=5,columnspan=2,sticky=W) text = ScrolledText(fram, bg = "cyan", fg = "#330000", height=18) #text = Text(fram) text.insert(END, "n-factorial or n-cubed will appear here.\n\n") text.insert(END, 'And again, with commas inserted.\n\n') text.insert(END, "And yet again, in scientific notation.") text.grid(row=5,columnspan=7,sticky=S) mainloop() ================================================================== _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor