Gabriel Genellina wrote:
En Tue, 14 Apr 2009 18:42:32 -0300, norseman <norse...@hughes.net>
escribió:
Gabriel Genellina wrote:
En Mon, 13 Apr 2009 15:13:53 -0300, norseman <norse...@hughes.net>
escribió:
Gabriel Genellina wrote:
Below there is an attempt to reproduce the layout you describe in the
PDF:
from Tkinter import *
root = Tk()
pane = Frame(root, width=400, height=300)
pane.pack(fill="both", expand=1)
w1 = Label(pane, text="1", bg="white")
w1.place(relwidth=0.1, relheight=0.5)
w2 = Label(pane, text="2", bg="yellow")
w2.place(relwidth=0.25, relheight=0.3, relx=0.1)
w3 = Label(pane, text="3", bg="red")
w3.place(relwidth=0.2, relheight=0.2, relx=0.1, rely=0.3)
[...]
Anyone having the same problem I have had needs to copy/paste the
effort and play with it a bit.
WOW! - it's what I've been trying to do!!!!! (much more YES than not)
One can substitute a Frame widget for the Label widget and see how it
will work. Do take note that as you traverse away from the 0,0 (here
assumed to be top left) point the prior (sum) of the prior widget(s)
relwidth (to left) goes into the relx and the same addition to the
prior relheight(s) (above) goes into the rely displacements of the
current. Also take note of how the parcels flush out at logical places.
Place is not a grid (it's parcelling) and it's based on units of "%"
of Frame it is used in. That is: Place uses a "%" value rather than a
finite distance. Thus, to have two different, but same screen size,
frames, each in a differently fixed sized frame of it own, YOU WILL
HAVE TO REDO THE MATH. Even if both are hooked at the 0,0 of their
respective masters.
That's not really true. "place" takes a position and a size; both can be
relative (percent, based on its parent), absolute (in pixels, inches, or
other units), and you can even mix both types. x,y are absolute;
relx,rely are relative; same goes for height,width and relheight,relwidth.
The available absolute units are: 200 (an integer, *not* 200.0) means
200 pixels; "200m" (a string) means 200 mm, "200p" means 200 points
(1/72"), "200i" means 200 inches, and finally "200c" means 200 cm. So
you can define the exact size and position for each element.
I had tried these in "grid" and didn't get very far so I assumed things
had changed since the docs were written. Good to know.
Relative sizes and positions are automatically scaled when the container
is resized -- in my example, if you resize the window all the "parcels"
grow and shrink accordingly.
YES - very nicely so.
With absolute sizes, you don't have to redo the math each time, but
resizing isn't automatic. Perhaps absolute sizes are better suited for
your application.
Yes. Mine is rather like a dashboard that unfortunatly takes up more
cockpit (screen) than I like. If the user shrinks it they will have a
hard time trying to pick the selection of choice and if they expand it
(unlikely) it will put enough off screen to cause another problem,
omissions.
Gabriel - THANK YOU VERY MUCH!!!!!
May not be politically correct but:
Whatever your gender - Please give yourself a good hug for me.
Glad to be of any help. I'm a male, btw.
Mucho obligó al Señor;
Steve
--
http://mail.python.org/mailman/listinfo/python-list