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í.

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-18:00

E-mail: podpora@banan.cz 

Příjem dotazů probíhá NONSTOP

Online pracovník

Richard Slipek

+420 608 611 883

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

6745 domén 5650 1095

Poslední článek - HOMEPAGE PRVKY

O
Ověřit dostupnost domény
Zákaznické centrum: podpora@banan.cz +420 608 611 883 (PO-PÁ 8:00-18:00)NápovědaBlog
Technická podpora: PO-PÁ 800-1800X
Online pracovník: Richard Slipek
podpora@banan.cz
Online chat nebo +420 608 611 883
Kontaktovat technickou podporu můžete zde
Kontaktovat technickou podporu můžete zde
PO-PÁ 800-1800