Python - Správci rozmístění (14. díl)

« zpět na python

banan/img/aaa111.jpg

Rozmístit grafické objekty v prostředí Python můžeme pomocí správců. My si ukážeme nejznámnější správce PACK a GRID. Správce PACK je sice limitovaný svou funkčností oproto správci GRID ale co se složitosti týče, je jednodužší a funguje tak, že rozmisťuje obejkty do řádků a sloupců. GRID je komplexnější a objekty jsou mísťovány do neviditelné mřížky. Tyto dva správce se nedoporučuje používat na stejném rodičovském okně, protože Tkinter se bude snažit najit cestu jak uspokojit oba správce najednou.

Pack

Používá se zejména pro menší podobjekty, napříkald rámy v oknech, nebo kdy potřebujeme jednoduše objekty rozvrhnout do řady či sloupce.

Dejme tomu, že máme nějaké okno ve kterém je další weidget. Při klasickém nastavení Pack() je okno satické a nemění se při zvětšování okna či zmenšování, mění se jen okno které upravujeme. Přidáním parametru Fill a Expand docílíme stálého vyplnění při úpravě rozměrů okna. Rozdíl můžete vidět níže na obrázku.

pack()  pack(fill=BOTH, expand=1)
Nic Neco

  • Fill [vyplnit] říká, že Widget má vyplňovat celý prostor který jen může, tedy prostor od toho prvku ze kterého dědí. Both [obje] nastaveno na 1 (true) znamená, že expandovat má do obou směrů (nahoru. dolů).
  • Okolní mezera, nebo-li odsazení se nastavuje parametrem padx=" " a pady=" ", bude kolem prvku zleva i zprava zadaná mezera. Totéž platí pro shora i zdola.

Rozvržení více Widgetů

Nad sebe

Stačí nechat funkci prázdnou pro každý widget, který má být ve sloupci - Pack().

# -*- coding: utf-8 -*-Nad-sebe from Tkinter import *

hlavni = Tk()

r = Entry(hlavni, bg="red", fg="white")
r.pack()
g = Entry(hlavni, bg="green", fg="black")
g.pack()
b = Entry(hlavni, bg="blue", fg="white")
b.pack()
mainloop()

Prvek Entry slouží jako vstupní textové pole většinou pro formuláře, kde uživatel musí vyplňovat nějaké údaje. Zde v tomto příkladu jsem je vybarvil aby šlo poznat rozvržení na první pohled.

Vedle sebe

Vedle sebe je naskládáme tak, že je všechny zarovnáme doleva, nezbyde jim nic jiného než se zařadit za sebe v pořadí v jakém jsou vytvořeny. Upravíme funkci Pack takto - Pack(side=LEFT). Výsledek vidíme na obrázku níže.

Veldesebe    

Můžete zkoušet upravovat parametry u jednotlivých políček a sledovat tak jak se mění jejich poloha...

 

# -*- coding: utf-8 -*-
from Tkinter import *

hlavni = Tk()Chaoticky

a = Entry(hlavni, bg="red", fg="white")
a.pack(side=LEFT)
b = Entry(hlavni, bg="green", fg="black")
b.pack()
c = Entry(hlavni, bg="blue", fg="white")
c.pack(side=LEFT)

mainloop()

V dalším článku si ukážeme správce GRID, který je o něco lepší a ve většině případech více používaný. Né však vždy se hodí.

Nezávazně vyzkoušejte webové stránky zdarma

Klientská sekce pro Vás

Spravujte své domény a hosting pohodlně 24 hodin denně

Kontakt pro zákazníky

Technická podpora

PO-PÁ 8:00-21:00
SO-NE, svátky 9:00-21:00

E-mail: podpora@banan.cz

Online pracovník

Jakub Turek

+420 553 810 250

Online chat

Zvládáme opensource

Na našich serverech jsme ručně ověřili funkci více než 140 opensource systémů, některé z nich nabízíme na jedno kliknutí v administraci.

Hostované domény

7754 domén 6478 1276

Poslední článek - HOMEPAGE PRVKY

O
Ověřit dostupnost domény
Technická podpora: +420 553 810 250podpora@banan.cz
Technická podpora 800-2100 (SO-NE 900-2100) X
Online pracovník: Jakub Turek
+420 553 810 250
podpora@banan.cz nebo Online chat
Kontaktovat technickou podporu můžete zde
Kontaktovat technickou podporu můžete zde
PO-PÁ 800-2100 (víkendy a svátky 900-2100)