bin s is not dervied from QLayout. It is a space greedy widget, invisible but will participate in updating geometry.
Вт, 21 окт 2014, Don Guinn написал(а): > You're right. How it works is all that is really needed. I was trying to > understand how it all worked and was trying things. My thought was that the > bins were widgets and worked like other widgets and stretched or not then > passed that stretch info to the widgets in it. I searched on QLayout and > will study it. > > Thanks. > > On Tue, Oct 21, 2014 at 8:01 PM, bill lam <[email protected]> wrote: > > > I think the layout strategy works like. > > > > allocate just enough size for each widget in each bin. all spacer are > > ignored during this stage. > > > > arrange and pack all the bins > > > > if there are empty space left in the top level window, the extra space will > > be shared by those bins which contain spacer or widget with a size policy > > that is greedy for space. if there are no such spacer or greedy widget, > > then the extra space will be shared by all. > > > > in your b1, the buttons are not greedy and there is no spacer inside the > > bin, therefore this bin will not participate in sharing the extra space. > > > > what you said: > > But "s" should not affect how widgets outside the containing bin > > are placed, other than changing the size of the bin. > > > > is inapplicable to Qt layout manager. > > On Oct 22, 2014 5:02 AM, "Don Guinn" <[email protected]> wrote: > > > > > The actions of the bin s are still vague to me as to how and when widgets > > > stretch or not. As I understand, bin h and bin v create bins or > > rectangular > > > boxes in which other widgets can be placed either horizontally or > > > vertically. The "s" parameter can modify how widgets within a bin are > > > placed. But "s" should not affect how widgets outside the containing bin > > > are placed, other than changing the size of the bin. Below is a script > > > which creates 6 forms. The top two show two forms with bins to be put > > into > > > the forms below. Those in the right column contain an "s" and those on > > the > > > left do not. The middle row places the bins horizontally and the bottom > > row > > > vertically. > > > > > > The bottom right seems to work right as the "s" in the second bin does > > not > > > affect how the widgets in the first bin act. The still stretch as > > expected. > > > However the middle right form the enclosed bins seems to be ignored as > > the > > > left 3 buttons stay to the left when stretched horizontally. Shouldn't > > the > > > first two buttons stretch and the last two separate? > > > > > > Just to confuse me more I modified the "bin z" in form "b0" to "bin sz" > > > (the first form) and then the form B0HS1 works properly. > > > > > > > > > NB. wd 'reset;' NB. Remove NB. for easy closing the forms > > > > > > b0=:0 : 0 > > > bin h; > > > cc b00 button;cn B00; > > > cc b01 button;cn B01; > > > bin sz; > > > ) > > > > > > b1=:0 : 0 > > > bin h; > > > cc b10 button;cn B10; > > > cc b11 button;cn B11; > > > bin z; > > > ) > > > > > > bs1=:0 : 0 > > > bin h; > > > cc b10 button;cn B10; > > > bin s0; > > > cc b11 button;cn B11; > > > bin z; > > > ) > > > > > > wd 'pc B0 closeok;pn B0;' > > > wd b0 > > > wd 'pmove 0 0 _1 _1;' > > > wd 'pshow;' > > > > > > wd 'pc BS1 closeok;pn BS1;' > > > wd bs1 > > > wd 'pmove 600 0 _1 _1;' > > > wd 'pshow;' > > > > > > wd 'pc B0H1 closeok; pn B0H1;' > > > wd 'bin h;' > > > wd b0 > > > wd b1 > > > wd 'bin z;' > > > wd 'pmove 0 100 _1 _1;' > > > wd 'pshow;' > > > > > > wd 'pc B0HS1 closeok; pn B0HS1;' > > > wd 'bin h;' > > > wd b0 > > > wd bs1 > > > wd 'bin z;' > > > wd 'pmove 600 100 _1 _1;' > > > wd 'pshow;' > > > > > > wd 'pc B0V1 closeok; pn BV1;' > > > wd 'bin v;' > > > wd b0 > > > wd b1 > > > wd 'bin z;' > > > wd 'pmove 0 200 _1 _1;' > > > wd 'pshow;' > > > > > > wd 'pc B0VS1 closeok; pn BVS1;' > > > wd 'bin v;' > > > wd b0 > > > wd bs1 > > > wd 'bin z;' > > > wd 'pmove 600 200 _1 _1;' > > > wd 'pshow;' > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
