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-21:00
SO-NE, svátky 9:00-21:00

E-mail: podpora@banan.cz

Online pracovník

Tomáš Lacina

+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

7405 domén 6187 1218

Poslední článek - HOMEPAGE PRVKY

O
Ověřit dostupnost domény
Zákaznické centrum: +420 553 810 250podpora@banan.czNápovědaBlog
Neomezený webový prostor,elektronická pošta, www stránky,nebo wordpress na klik.
PO-PÁ 800-2100 SO-NE, svátky 900-2100 X
Online pracovník: Tomáš Lacina
+420 553 810 250
podpora@banan.cz nebo Online chat
Kontaktovat technickou podporu můžete zde
Neomezený webový prostor,
elektronická pošta,
www stránky,nebo wordpress na klik.
Kontaktovat technickou podporu můžete zde
PO-PÁ 900-1700