Python - Správce GRID (15. díl)

Napsal (») 9. 10. 2011 v kategorii Programování, přečteno: 1191×
banan/img/aaa111.jpg

Jak jsme si již řekli v minulém čísle tutoriálu, správce Grid je používán pro rozložení do pomyslné mřížky, kterou tento Grid vytvoří na rodičovském prvku. Použití vypadá takto - grid(row=0, column=1),  kde row značí řádek a column sloupec. V tomto příkladu je prvek umístěn do řádku prvního a sloupce druhého, protože téměř v každém programovacím jazyce indexujeme od 0, 0 značí v těchto případech první, počáteční řádek, sloupec, prvek apod. Přesněji uvidíme na jednoduchém příkladě.


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

rodic=Tk()

Label(rodic, foreground="red", text="Login").grid(column=0, row=0)
Label(rodic, foreground="blue", text="Heslo").grid(column=0, row=1)

login = Entry(rodic, width=20, bg="lightblue").grid(column=1, row=0)
heslo = Entry(rodic, width=20, bg="blue",show="*").grid(column=1, row=1)
a = Button(rodic, text="Vyčistit").grid(column=0, row=2)
b = Button(rodic, text="Přihlásit").grid(column=1, row=2)

mainloop()

Objevil se nám zde nový parametr show=" ", který způsobí zobrazení znaku v uvozovkách na místo znaků, které vložíme jako když vyplňujeme heslo při přihlašování například na facebooku. Dále pak foreground="nazev_barvy" nám obarvil popisky a objevili se zde také tlačítka (Button) s mnou definovanými popisky.

Grid_2

Dále můžeme použít parametry padx, pady stejně jako u Pack() a rowspan, columnspan, který určuje zda daný prvek zabírá více než jeden řádek (row) nebo sloupec (colunm) a jejich počet. Pokud se nechá prázdný, je nastaven na 1, protože v případě 0 by samozřejmě neměl smysl.

Parametr Sticky

Pokud použijeme tento parametr sticky, který může nabývat jedné nebo více hodnot z (N - NorthS - SouthE - EastW -West), můžeme změnit polohu namísto implicitně dané centrované na jakoukoli z uvedených. Zarovnání severo - západně by vypadalo takto - sticky=N+W.

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

rodic=Tk()

Label(rodic, text=u"Login").grid(row=0, sticky=W)
Label(rodic, text=u"Heslo").grid(row=1, sticky=W)

e1 = Entry(rodic)
e2 = Entry(rodic)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
mainloop()

 

Nezapomeňte, že používání Pack() a Grid() zároveň je nežádoucí, program nepůjde ani spustit.

Štítky: Python
Hodnocení:     nejlepší   1 2 3 4 5   odpad
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel čtyři a dvanáct