Sean McIlroy wrote:
I've got a bunch of Frames, all packed into the root window with
side=TOP, and in each Frame I've got a Checkbutton packed with
side=LEFT. I expected the Checkbuttons to be flush with the left edge
of the window, but they're not, and it looks a little gross. How do I
get them to align?
The standard behaviour for frames is to adapt to their contents, and packing
them with side=TOP without any other option will center them in their container.
So you have a few solutions to your problem:
- use the anchor option when packing the frames; setting anchor=W should do what
you want
- use fill=X when packing the frames, as Harold said. This expands the frame to
the whole width of its container, so this should align the check-buttons (if it
doesn't work, add the option expand=1 to force the frame to be wider than its
contents)
A silly question BTW: why do you use frames? If you have only check-buttons in
them, you do not need them:
from Tkinter import *
root = Tk()
for i in range(0, 101, 20):
b = Checkbutton(root, text='Option %s' % i)
b.pack(side=TOP, anchor=W)
root.mainloop()
HTH
--
- Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
PragmaDev : Real Time Software Development Tools -
http://www.pragmadev.com