On Fri, Mar 27, 2009 at 2:46 PM, Wayne Watson <sierra_mtnv...@sbcglobal.net>wrote:
> It's very difficult to tell. I've tried it. > fLocation=Frame(master) > fLocation.pack(side=LEFT) > I need to size the fLocation frame to make it big. As it is, it must be > giving the smallest possible size. > > I tried this > fLocation.pack(expand=YES,fill=BOTH,side=TOP) > Good news... I got it! Here's something that's often a good idea when debugging overlapping layouts (especially when you didn't design the parent!) - use different backgrounds! First I tried grid_rowconfigure and grid_columnconfigure (which are necessary if you want your widgets in grid to resize and sticky in the expected places... at least in my experience. You call them on the parent widget which can be displayed with .pack() ) on fCoords - the parent of your labels. That didn't do anything, so I suspected the problem went deeper. So I tried fCoords parent, fLocation. That didn't do anything, so I finally went to /it's/ parent - master. By setting master.pack(expand=1, fill=BOTH) along with some other tweaks I was able to get some behavior I think you'll want. I've left my background and border changes so you can get a better idea of what I did. Feel free to play around with the colors, borders, sticky options, and sizes of things. It'll probably help you to get a better grasp of what's going on. Here's my changes (also found here: http://rafb.net/p/clKroD65.html ) # Framing it from Tkinter import * from tkSimpleDialog import Dialog import tkSimpleDialog import tkMessageBox class DialogPrototype(Dialog): def body(self, master): # Frames master.configure(bg='white', bd=3) master.pack(expand=1, fill=BOTH) fLocationTitle = Frame(master, bg='green', bd=3) # fL... f for frame fLocationTitle.pack() fLocation=Frame(master, bg='red', bd=3) fLocation.pack(expand=1, fill=BOTH, anchor=W) fCoords = Frame(fLocation, bg='blue', bd=3) # lat/long coords in a frame fCoords.pack(fill=BOTH, expand=1, side=LEFT) fCoords.grid_columnconfigure(0, weight=0) fCoords.grid_columnconfigure(1, weight=1) fCoords.grid_columnconfigure(2, weight=0) fCoords.grid_columnconfigure(3, weight=1) fCoords.grid_rowconfigure(0, weight=1, minsize=1) self.title("Enter Site/Misc. Data") # Latitude and Longitude Label(fLocationTitle, text="Geographic Location").grid(row=0,column=0) #Label(fCoords, text='Latitude:').grid(row=0, sticky=W) self.lab=Label(fCoords, text='Latitude:', height=5) self.lab.grid(row=0, column=0, sticky=W) self.lat = Entry(fCoords, width=12) self.lat.grid(row=0, column=1, sticky=W+E) Label(fCoords, text='Longitude:').grid(row=0, column=2) self.long = Entry(fCoords, width=12) self.long.grid(row=0, column=3, sticky=W+E) return def apply(self): print "apply" print self.lat.get() print self.long.get() print "setting" lat=1.0 long=0.0 root = Tk() root.withdraw() DialogPrototype(root) HTH, The -other- Wayne
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor