Che cos'è uno stack? Che cos'è un flusso? - Il gestore del layout delle scarpe

Per utilizzare efficacemente qualsiasi GUI toolkit, devi capire il suo gestore del layout (o gestore della geometria). In Qt hai HBox e VBox, in Tk hai il Packer e in Scarpe che hai pile e flussi. Sembra criptico ma continua a leggere - è molto semplice.

Una pila fa esattamente come suggerisce il nome. Impilano le cose verticalmente. Se metti tre pulsanti in una pila, verranno impilati verticalmente, uno sopra l'altro. Se si esaurisce lo spazio nella finestra, verrà visualizzata una barra di scorrimento sul lato destro della finestra per consentire di visualizzare tutti gli elementi nella finestra.

Si noti che quando si dice che i pulsanti sono "all'interno" dello stack, significa solo che sono stati creati all'interno del blocco passato allo stack metodo. In questo caso, i tre pulsanti vengono creati mentre all'interno del blocco passato al metodo stack, quindi sono "all'interno" dello stack.

Un flusso racchiude le cose in orizzontale. Se all'interno di un flusso vengono creati tre pulsanti, verranno visualizzati uno accanto all'altro.

instagram viewer

C'è un'altra cosa importante da capire sui flussi. Se esaurisci lo spazio in orizzontale, Scarpe non creerà mai una barra di scorrimento orizzontale. Invece, Shoes creerà gli elementi più in basso nella "riga successiva" dell'applicazione. È come quando si raggiunge la fine di una riga in un word processor. L'elaboratore di testi non crea una barra di scorrimento e ti consente di continuare a digitare fuori dalla pagina, invece posiziona le parole sulla riga successiva.

Fino ad ora, non abbiamo dato alcuna dimensione durante la creazione di stack e flusso; hanno semplicemente preso tutto lo spazio di cui avevano bisogno. Tuttavia, le dimensioni possono essere fornite nello stesso modo in cui le dimensioni vengono assegnate a Shoes.app chiamata al metodo. Questo esempio crea un flusso non largo quanto la finestra e aggiunge pulsanti ad esso. Viene inoltre assegnato uno stile del bordo per identificare visivamente dove si trova il flusso.

Dal bordo rosso puoi vedere che il flusso non si estende fino al bordo della finestra. Quando verrà creato il terzo pulsante, non c'è abbastanza spazio per esso, quindi Shoes passa alla riga successiva.

I flussi e le pile non contengono solo gli elementi visivi di un'applicazione, ma possono anche contenere altri flussi e pile. Combinando flussi e pile, è possibile creare layout complessi di elementi visivi con relativa facilità.

Se sei uno sviluppatore Web, potresti notare che è molto simile al motore di layout CSS. Questo è intenzionale. Le scarpe sono fortemente influenzate dal Web. In effetti, uno degli elementi visivi di base in Scarpe è il "Link" e puoi persino organizzare le applicazioni di Scarpe in "pagine".

In questo esempio, viene creato un flusso contenente 3 pile. Questo creerà un layout a 3 colonne, con gli elementi in ogni colonna visualizzati in verticale (perché ogni colonna è una pila). La larghezza delle pile non è una larghezza in pixel come negli esempi precedenti, ma piuttosto il 33%. Ciò significa che ogni colonna occuperà il 33% dello spazio orizzontale disponibile nell'applicazione.

instagram story viewer