Tkinter
Message Widget
Widget "message" (zpráva) může být použit k zobrazení krátkých textových zpráv. Tím se podobá widgetu "label" ale je více flexibilní při zobrazení textu. Jeho font lze měnit, na rozdíl od fontu widgetu "label". Jeho text se automaticky zalamuje do zarovnaných řádků. Měnitelností fontu u widgetu "message" je míněno to, že si pro jednotlivé widgety můžeme nastavit různé fonty. Nemůžeme však zadat různé fonty pro různé řádky jednoho widgetu. To si můžeme dovolit u widgetu "text".
Vytvoření widgetu z třídy Message:
w = Message ( master, option, ... )
Vezměme si jednoduchý příklad. Následující skript vytvoří zprávu se slavným výrokem Mahatma Gandiho:
from tkinter import * master = Tk() whatever_you_do = "Cokoliv uděláte je nedůležité ale je velmi důležité, že to uděláte. \n(Mahatma Gandhi)" msg = Message(master, text = whatever_you_do) msg.config(bg='lightgreen', font=('times', 24, 'italic')) msg.pack( ) mainloop( )
Aplikace, vytvořená uvedeným skriptem, vypadá takto:
Parametry widgetů
Parametr | Význam |
---|---|
anchor | Směr, ve kterém má být text ve widgetu umístěn: N, NE, E, SE, S, SW, W, NW, nebo CENTER. Implicitně je CENTER. |
aspect | Poměr zobrazení - je daný poměrem šířky (width) k výšce (hight) v procentech. Implicitní hodnota je 150, to znamená, že zpráva bude o 50% širší než je její výška. Pokud je šířka explicitně určena, je tento parametr ignorován. |
background, bg | Barva pozadí zprávy. Implicitní hodnota je systémově určena. |
borderwidth, bd | Šířka ohraničení. Implicitní hodnota je 2. |
command | Odkazuje na metodu, která má být evokována při výběru objektu. Lze uplatnit u widgetů Button, Checkbutton, Radiobutton, Scale a Spinbox. |
cursor | Určuje typ kurzoru, zobrazovaného při jeho přechodu přes widget zprávy. Implicitně se použije standardní kurzor. |
font | Font zprávy. Implicitní hodnota je systémově určena. |
foreground, fg | Barva textu. Implicitní hodnota je systémově určena. |
highlightbackground | Společně s highlightcolor a highlightthickness, tento parametr určuje, jak bude vykreslena zvýrazněná oblast. |
highlightcolor | Viz highlightbackground. |
highlightthickness | Viz highlightbackground. |
justify | Určuje polohu textu v řádku. Můžete zadat LEFT, RIGHT nebo CENTER. Vězte, že pro určení polohy celého bloku textu uvnitř widgetu použijete parametr "anchor". Implicitně je nastaveno LEFT. |
padx | Horizontální výstelka. Implicitně je -1 (no padding). |
pady | Vertikální výstelka. Implicitně je -1 (no padding). |
relief | Tvar ohraničení. Implicitní je FLAT (ploché). Další možné hodnoty SUNKEN (zapuštěné), RAISED (zvednuté), GROOVE (rýha), a RIDGE (výstupek). |
takefocus | Má-li hodnotu True, přijímá widget focus (zaměření) pro vstup. Implicitně je False. |
text | Text zprávy. Je-li třeba, provede widget zalomení řádku aby byl dodržen zadaný poměr zobrazení (aspect ratio). |
textvariable | Propojí proměnnou Tkinteru (jíž je obvykle StringVar) se zprávou. Při změně hodnoty proměnné je text zprávy aktualizován. |
width | Šířka widgetu udaná počtem znaků. Není-li tento parametr zadán, vybere se automaticky vhodná šířka, odpovídající nastavenému poměru zobrazení. |