Hva er en stabel? Hva er en flyt? - Skooppsettlederen

click fraud protection

For å effektivt bruke en hvilken som helst GUI verktøysett, må du forstå dens layout manager (eller geometry manager). I Qt har du HBoxes og VBoxes, i Tk har du Packer og i Shoes du har stabler og flyter. Det høres kryptisk ut, men les videre - det er veldig enkelt.

En stabel gjør akkurat som navnet tilsier. De stabler ting loddrett. Hvis du legger tre knapper i en stabel, blir de stablet loddrett, en oppå hverandre. Hvis du går tom for rom i vinduet, vil en rullefelt vises på høyre side av vinduet for å tillate deg å se alle elementene i vinduet.

Merk at når det sies at knappene er "inne" i bunken, betyr det bare at de ble opprettet inne i blokken som ble sendt til bunken metode. I dette tilfellet opprettes de tre knappene mens innsiden av blokken sendes til stack-metoden, slik at de er "inne" av stabelen.

En flyt pakker ting horisontalt. Hvis det opprettes tre knapper inne i en flyt, vil de vises ved siden av hverandre.

Det er en viktig ting å forstå om flyt. Hvis du går tom for plass horisontalt, vil sko aldri opprette en horisontal rullefelt. I stedet vil Sko lage elementene nede på "neste linje" i applikasjonen. Det er som når du kommer til enden av en linje i en tekstbehandler. Tekstbehandleren oppretter ikke en rullefelt og lar deg fortsette å skrive fra siden, i stedet plasserer den ordene på neste linje.

instagram viewer

Til nå har vi ikke gitt noen dimensjoner når vi lager stabler og flyt; de har ganske enkelt tatt så mye plass som de trengte. Imidlertid kan dimensjoner gis på samme måte som dimensjoner blir gitt til Shoes.app metodeanrop. Dette eksemplet skaper en flyt som ikke er så bredt som vinduet og legger til knapper til det. Det gis også en kantstil for å visuelt identifisere hvor flyten er.

Du kan se ved den røde kanten at flyten ikke strekker seg helt til kanten av vinduet. Når den tredje knappen skal opprettes, er det ikke nok plass til det slik at Shoes flytter ned til neste linje.

Flyt og stabler inneholder ikke bare de visuelle elementene i et program, de kan også inneholde andre flyter og stabler. Ved å kombinere strømmer og stabler kan du lage komplekse oppsett av visuelle elementer med relativt enkelhet.

Hvis du er en webutvikler, kan du legge merke til at dette ligner veldig på CSS-layoutmotoren. Dette er tilsiktet. Sko er sterkt påvirket av nettet. Faktisk er et av de grunnleggende visuelle elementene i Sko "Koblingen", og du kan til og med ordne Sko-applikasjoner til "sider".

I dette eksemplet opprettes en flyt som inneholder 3 stabler. Dette vil lage en 3 kolonneoppsett, der elementene i hver kolonne vises vertikalt (fordi hver kolonne er en stabel). Bredden på stablene er ikke en pikselbredde som i tidligere eksempler, men snarere 33%. Dette betyr at hver kolonne vil ta 33% av den tilgjengelige horisontale plassen i applikasjonen.

instagram story viewer