Um effektiv zu nutzen GUI Toolkit, müssen Sie seinen Layout-Manager (oder Geometrie-Manager) verstehen. In Qt haben Sie HBoxen und VBoxen, in Tk haben Sie den Packer und in Schuhen haben Sie Stapel und Flüsse. Es klingt kryptisch, aber lesen Sie weiter - es ist sehr einfach.
Ein Stack macht genau das, was der Name schon sagt. Sie stapeln die Dinge vertikal. Wenn Sie drei Schaltflächen in einen Stapel legen, werden diese vertikal übereinander gestapelt. Wenn Sie im Fenster keinen Platz mehr haben, wird auf der rechten Seite des Fensters eine Bildlaufleiste angezeigt, mit der Sie alle Elemente im Fenster anzeigen können.
Beachten Sie, dass, wenn gesagt wird, dass sich die Schaltflächen "innerhalb" des Stapels befinden, dies nur bedeutet, dass sie innerhalb des Blocks erstellt wurden, der an den Stapel übergeben wurde Methode. In diesem Fall werden die drei Schaltflächen innerhalb des Blocks erstellt, der an die Stapelmethode übergeben wird, sodass sie sich "innerhalb" des Stapels befinden.
Ein Flow packt die Dinge horizontal. Wenn drei Schaltflächen innerhalb eines Flows erstellt werden, werden sie nebeneinander angezeigt.
Es gibt noch eine wichtige Sache, die man über Flüsse verstehen muss. Wenn Ihnen horizontal der Platz ausgeht, erstellt Shoes niemals eine horizontale Bildlaufleiste. Stattdessen erstellt Shoes die Elemente weiter unten in der "nächsten Zeile" der Anwendung. Es ist wie wenn Sie das Ende einer Zeile in einem Textverarbeitungsprogramm erreichen. Das Textverarbeitungsprogramm erstellt keine Bildlaufleiste und lässt Sie die Seite weiter tippen, sondern platziert die Wörter in der nächsten Zeile.
Bis jetzt haben wir beim Erstellen von Stapeln und Flows keine Dimensionen angegeben. Sie haben einfach so viel Platz genommen, wie sie brauchten. Die Abmessungen können jedoch auf die gleiche Weise angegeben werden, wie die Abmessungen für die angegeben werden Shoes.app Methodenaufruf. In diesem Beispiel wird ein Fluss erstellt, der nicht so breit wie das Fenster ist, und es werden Schaltflächen hinzugefügt. Außerdem wird ihm ein Rahmenstil zugewiesen, um visuell zu identifizieren, wo sich der Fluss befindet.
Sie können am roten Rand erkennen, dass sich der Fluss nicht bis zum Rand des Fensters erstreckt. Wenn die dritte Schaltfläche erstellt wird, ist nicht genügend Platz dafür vorhanden, sodass Schuhe in die nächste Zeile verschoben werden.
Flows und Stacks enthalten nicht nur die visuellen Elemente einer Anwendung, sondern auch andere Flows und Stacks. Durch die Kombination von Flows und Stacks können Sie relativ einfach komplexe Layouts visueller Elemente erstellen.
Wenn Sie ein Webentwickler sind, stellen Sie möglicherweise fest, dass dies der CSS-Layout-Engine sehr ähnlich ist. Dies ist beabsichtigt. Schuhe werden stark vom Web beeinflusst. Tatsächlich ist eines der grundlegenden visuellen Elemente in Shoes der "Link", und Sie können sogar Schuhanwendungen in "Seiten" anordnen.
In diesem Beispiel wird ein Flow mit 3 Stapeln erstellt. Dadurch wird ein 3-Spalten-Layout erstellt, wobei die Elemente in jeder Spalte vertikal angezeigt werden (da jede Spalte ein Stapel ist). Die Breite der Stapel ist keine Pixelbreite wie in den vorherigen Beispielen, sondern 33%. Dies bedeutet, dass jede Spalte 33% des verfügbaren horizontalen Platzes in der Anwendung einnimmt.