Tkinter tutorial - Label

  1. Python Tkinter-labelwidget
  2. Wijzig het lettertype van het Python-label
  3. Wijzig de kleur(en) van het Python Tkinter-label
  4. Afbeelding weergeven in Python Tkinter-label

Label widget geeft een tekstreeks of een afbeelding weer, waarvan de inhoud normaal gesproken niet dynamisch is. Natuurlijk kun je de inhoud wijzigen als je wilt.

Python Tkinter-labelwidget

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()

Het genereert een venster met een tekstlabel in het hoofdvenster.

Tkinter Basic-label

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

labelExample is een Label-instantie die This is a label in de bovenliggende widget app weergeeft.

labelExample.pack()

pack() methode beheert de lay-out van de specifieke widget in de bovenliggende widget. Het heeft opties zoals hieronder

pack() Methode Beschrijving
after=widget pak het in nadat je de widget hebt ingepakt
anchor=NSEW (or subset) positie widget volgens
before=widget pak het in voordat je de widget inpakt
expand=bool widget uitvouwen als de oudergrootte groeit
fill=none or x or y or both vul widget als widget groeit
in=master gebruik master om deze widget te bevatten
in_=master zie ‘in’ optiebeschrijving
ipadx=amount voeg interne opvulling in x-richting toe
ipady=amount voeg interne opvulling in y-richting toe
padx=amount vulling toevoegen in x-richting
pady=amount vulling toevoegen in y-richting
side=top or bottom or left or right waar deze widget toe te voegen.

Je kan de opties wijzigen om de verschillende lay-outs voor labelwidgets te krijgen.

De dimensie van het label wordt opgegeven door breedte en hoogte die behoren bij de widget-specifieke opties van het label.

info

Breedte en hoogte hebben de eenheid van teksteenheden wanneer deze tekst bevat, en de grootte is pixels als de afbeelding wordt weergegeven.

Je kan labeleigenschappen krijgen met de methode dict(label) ,

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))

De eigenschappen worden hieronder vermeld

{'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>}

Nu kent u de eigenschappen van het label, dan kan je verschillende labelweergaven krijgen door ze te wijzigen.

Wijzig het lettertype van het Python-label

Hieronder laten we u verschillende configuratie methoden voor label lettertypen zien.

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 met aangepast tekstlettertype

Stel het Python Tkinter-labellettertype in met een tuple

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

Een tuple met lettertype als het eerste element, gevolgd door grootte, stijl zoals gewicht, cursief, onderstrepen en/of overstrike.

Stel Python Tkinter Label Font in met tkFont Font Object

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

Je kan ook het lettertypeobject in de tkFont module gebruiken om de lettertype-eigenschappen van de labeltekst op te geven.

Het lettertype van labelExample3 is lettertype Helvetica, maat 20, vetgedrukt, onderstreept en overtreffend.

Als je nieuwsgierig bent naar beschikbare Tkinter-lettertypefamilies, kun je het onderstaande Python-fragment gebruiken om ze allemaal weer te geven.

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())  

Wijzig de kleur(en) van het Python Tkinter-label

Je kan de voor- en achtergrond kleur van het label wijzigen met fg/bg properties.

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

Tkinter Widget Voorgrond- en achtergrondkleur wijzigen

Afbeelding weergeven in Python Tkinter-label

De image eigenschap in label wordt gebruikt om de afbeelding op het label weer te geven.

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-afbeelding in label

Waarschuwing

tk.PhotoImage kon alleen gekleurde afbeeldingen in GIF, PPM / PGM formaat weergeven. Het genereert _tkinter.TclError: kon gegevens in afbeeldingsbestand niet herkennen als u andere afbeeldingsformaten gebruikt