Tkinter

Message Widget

Love Message, Public Domain
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:

Whatever you do



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