Unterschied place/grid/pack

Fragen zu Tkinter.
Antworten
jake-the-snake

Abend Forumsgemeinde

Ich bin ganz neu hier. Das selbe gilt für meine python und tkinter-Kenntnisse.
Bisher habe ich mittels Perl serverseitige scripts geschrieben und Webbasiertes Framework praktiziert (.shtml/cgi/perl).

Mein aktueller ist Zustand:
  • Hauptsystem Ubuntu 16.04
  • Python3 lauffähig installiert
  • tk anwesend
  • tkinter anwesend
  • Habe es geschafft, ein eigenes tk-Fenster zu öffnen
  • Erste Versuchsprogramme (Hello World) laufen
Jetzt habe ich einige typische Anfängerfragen, wie ich wohl am besten das neue Fenster aufrufe.
Deshalb die Frage: Was sind grob die Unterschiede zwischen place, grid und pack?
Ich kann zwar englisch, aber ich hätte das doch gerne in deutsch nochmals gegengecheckt :)

Gruß jts
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Grid & pack sind Layout manager. Sprich du kannst damit adaptive Oberflächen schaffen, bei denen zb das Fenster vergrößerst werden kann und es immer noch alles ok aussieht.

Place hingegen nagelt deine Widgets an die wand. Das Problem daran: das ist nicht robust gegen Änderungen zb von Bildschirmauflösung bzw. DPI , Fontgröße, oder eben Fenstergrösse die der Nutzer bestimmen möchte. Und teilweise verändern diese Faktoren sich auch ohne dein zutun. Zb durch System Updates.

Darum Finger weg von Place. So wie man auch im Webdesign adaptiv Designt.
jake-the-snake

Hi deets

Ja, flüssiges Design ist bei Webseiten ein muss. Ich habe jetzt hier aber einen Sonderfall. Das Zielsystem wird ein Raspberry PI3 sein, der im Bundle mit einem 7" Touchscreen ausgeliefert wird. Auflösung 800*480 pix. Ich möchte eine Software entwickeln, die nur und explizit mit dieser Konfiguration von Hardware läuft (Raspberry + 7" Display). Somit soll eine fixe tk-Fenstergrösse von final 700*380 angestrebt werden. Das wären je 50px rund ums Display Platz - das sollte ausreichen.

Meinst du, dass in diesem Fall ein place doch sinnvoll wäre?

Gruß jts
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

In diesem fall wäre kivy statt tkinter noch sinnvoller. Weil genau dafür gemacht.

Die Umgebung ist zwar kontrollierter. Ich würde aber immer noch mit pack und Grid arbeiten.
Antworten