Tkinter Tutorial - Etiketten-Widget

  1. Python Tkinter Label Widget
  2. Python-Label-Schriftart ändern
  3. Python Tkinter Etikettenfarbe(n) ändern
  4. Bild in Python Tkinter Label anzeigen

Das Label-Widget zeigt einen Textstring oder ein Bild an, dessen Inhalt normalerweise nicht dynamisch sein soll. Natürlich können Sie den Inhalt ändern, wenn Sie möchten.

Python Tkinter Label Widget

Tkinter Label.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label")
labelExample.pack()
app.mainloop()

Es erzeugt ein Fenster mit einer Textbeschriftung innerhalb des Hauptfensters.

Tkinter Basic Beschriftung

labelExample = tk.Label(app, text = "This is a label")

labelExample ist eine Label-Instanz, die This is a label mit dem Elternteil app anzeigt.

labelExample.pack()

Die pack() Methode verwaltet das Layout des jeweiligen Widgets im übergeordneten Widget. Sie hat folgende Optionen

pack() Methode Beschreibung
after=Widget packen Sie es, nachdem Sie das Widget gepackt haben
anchor=NSEW (oder Teilmenge) Positionswidget nach
before=Widget Packen Sie es, bevor Sie das Widget einpacken.
expand=bool Widget erweitern, wenn die Größe der Eltern wächst
fill=keine oder x oder y oder beides Widget füllen, wenn das Widget wächst
in=Meister Master verwenden, um dieses Widget zu enthalten
in_=Herrn siehe ‘in’ Optionsbeschreibung
ipadx=Menge interne Polsterung in x-Richtung hinzufügen
ipady=amount interne Polsterung in y-Richtung hinzufügen
padx=Menge Polster in x-Richtung hinzufügen
Pady=Betrag in y-Richtung abpolstern
side=top oder bottom oder left oder right wo man dieses Widget hinzufügen kann.

Sie können die Optionen ändern, um das unterschiedliche Layout des Widgets zu erhalten.

Die Dimension des Labels wird durch Breite und Höhe angegeben, die zu den Widget-spezifischen Optionen des Labels gehören.

Info

Breite und Höhe haben die Einheit von Texteinheiten, wenn es Text enthält, und seine Größe ist Pixel, wenn es ein Bild anzeigt.

Sie können die Eigenschaften von Labels mit dem Befehl dict(label) erhalten,

Tkinter Label_Get Properties.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
from pprint import pprint
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label", height=15, width=100)
pprint(dict(labelExample))

Die Eigenschaften sind nachfolgend aufgeführt

{'activebackground': 'SystemButtonFace',
 'activeforeground': 'SystemButtonText',
 'anchor': 'center',
 'background': 'SystemButtonFace',
 'bd': <pixel object at 00000000048D1000>,
 'bg': 'SystemButtonFace',
 'bitmap': '',
 'borderwidth': <pixel object at 00000000048D1000>,
 'compound': 'none',
 'cursor': '',
 'disabledforeground': 'SystemDisabledText',
 'fg': 'SystemButtonText',
 'font': 'TkDefaultFont',
 'foreground': 'SystemButtonText',
 'height': 15,
 'highlightbackground': 'SystemButtonFace',
 'highlightcolor': 'SystemWindowFrame',
 'highlightthickness': <pixel object at 00000000048FF100>,
 'image': '',
 'justify': 'center',
 'padx': <pixel object at 00000000048FED40>,
 'pady': <pixel object at 00000000048FF0D0>,
 'relief': 'flat',
 'state': 'normal',
 'takefocus': '0',
 'text': 'This is a Label',
 'textvariable': '',
 'underline': -1,
 'width': 100,
 'wraplength': <pixel object at 00000000048FED70>}

Jetzt kennen Sie die Eigenschaften des Etiketts, dann könnten Sie durch Ändern der Etiketten ein anderes Aussehen erhalten.

Python-Label-Schriftart ändern

Im Folgenden zeigen wir Ihnen verschiedene Methoden zur Konfiguration der Etikettenschriftart.

Tkinter Label_Set Text Font.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont    
app = tk.Tk()
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)
labelExample1.pack()
labelExample2.pack()
labelExample3.pack()
app.mainloop()

Tkinter Label mit modifizierter Schriftart

Python Tkinter Label Font mit einem Tupel setzen

labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

Ein Tupel mit der Schriftart als erstes Element, gefolgt von Größe, Stil wie Gewicht, Kursiv, Unterstreichen und/oder Überstreichen.

Python Tkinter Label Font mit tkFont Font Objekt setzen

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)

Sie könnten auch das Font-Objekt im tkFont Modul verwenden, um die Eigenschaften der Schriftart für den Etikettentext festzulegen.

Die Schriftart in labelExample3 ist die Schriftfamilie Helvetica, Größe 20, fett, unterstrichen und überstrichen.

Tkinter Label_Get Fonts List.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont
from pprint import pprint

app = tk.Tk()
pprint(tkFont.families())  

Python Tkinter Etikettenfarbe(n) ändern

Sie können die Vorder- und Hintergrundfarbe des Labels mit Hilfe der fg/bg Eigenschaften ändern.

labelExample1 = tk.Label(app, text="Customized Color",bg="gray", fg="red")

Tkinter Ändern Widget Vorder- und Hintergrundfarbe

Bild in Python Tkinter Label anzeigen

Die Eigenschaft image in label wird verwendet, um das Bild im Etikett anzuzeigen.

Tkinter Lael_Display Image.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    

app = tk.Tk()
logo = tk.PhotoImage(file='python.gif')
labelExample = tk.Label(app, image=logo)
labelExample.pack()
app.mainloop()

Tkinter Bild in Label

Warnung

tk.PhotoImage konnte nur farbige Bilder im GIF-, PPM/PGM-Format anzeigen. Es erzeugt _tkinter.TclError: konnte die Daten in der Bilddatei nicht erkennen, wenn Sie andere Bildformate verwenden.