tkinter – Label

Neben dem Hauptfenster und dem Label existieren noch viele andere Widgets wie zum Beispiel

  • Knöpfe (button, checkbutton, radiobutton),
  • Auswahlfelder (combobox, listbox,spinbox),
  • Eingabefelder (Entry, Text)

usw.
Um ein erstes sinnvolles Programm zu schreiben wollen wir uns Label, Entry und Button etwas näher ansehen:

Labels sollen dem Betrachter Informationen oder Resultate liefern. Hierfür wird das Widgett tk.Label genutzt. Der darzustellende Text wird meist mit dem „text=“ Parameter übergeben und ist konstant Man kann aber stattdessen auch den Parameter „textvariable=“ benutzen um veränderbaren Text, also eine Variable, zu übergeben

Tkinter ermöglicht uns die Klasse StringVar() für die Textvariable zu nutzen. Diese kümmert sich um die ganze Logistik zur Überwachung von Änderungen der Variablen und zur Kommunikation zwischen der Variable und dem Label. Auch ist es möglich Bilder im Label anzuzeigen (Parameter: „image=“).
Mit dem Parameter“compound=“ gibt man an, ob nur der Text (text), nur das Bild (image), Text im Bild(center) oder das Bild über, unter, rechts oder links vom Text(top,bottom,right,left) angezeigt wird.

Ein einfaches Beispiel:

#!/usr/bin/env python3
# tk_label.py
from tkinter import*
# Python 2.7 "
from tkinter import ttk  # Python 2.7 "
#import tk
mainWin = Tk()
result = StringVar()
result.set('Autohaus HansaNord')
imageLabel_1 = PhotoImage(file='myimage.png')
label_1 = ttk.Label(mainWin, textvariable=result, image=imageLabel_1, compound='top')
label_1.grid()
mainWin.mainloop()