tkinter
zu verwenden, müssen wir es importieren mit from tkinter import *
.
Tk
, das wir mit der Methode
mainloop()
starten.
from tkinter import *
fenster = Tk()
fenster.mainloop()
title(fenstername)
, die Größe des Fensters kann man
mit der geometry("300x200")
auf 300x200 setzten.
from tkinter import *
fenster = Tk()
fenster.geometry("300x200")
fenster.title("Mein Fenster")
fenster.mainloop()
Label
ist ein Gui-Element (in TKinter Widget genannt), dass Text (und auch ein Bild) anzeigen kann.meinLabel = Label(container, text="Hallo")
.container
das Fenster-Objekt selbst. Bei komplexeren Oberflächen ist es oft ein Frame
der Teil der Oberfläche ist.
meinLabel.pack()
packt man es auf den Container. Pack ist ein einfacher Weg um Gui-Element nebeneinander
auf die Oberfläche zu packen. Für komplexere Oberfläche verwendet man grid
, doch noch halten wir es einfach.
from tkinter import *
fenster = Tk()
fenster.title("Mein Fenster")
meinLabel = Label(fenster, text="hallo")
meinLabel.pack()
fenster.mainloop()
Label
-Widgets können Optionen mitgegeben werden, text
ist eine Option.
Optionen werden mit Komma getrennt aufgezählt.
Option | Beschreibung |
---|---|
text | Der Text, der angezeigt wird |
fg/foreground | Textfarbe, entweder als Name (wie "white") oder hexadezimal (wie "#FF0000") |
bg/background | Hintergrundfarbe |
height | Höhe in Zeilen |
width | Breite in Buchstaben |
wraplength | Breite nach der umgebrochen wird. Diese Längen benötigen eine Einheit: m für Millimeter, c für Zentimeter, p für Pixel Bsp.: wraplength="3c"
|
padx | Abstand in x-Richtung |
pady | Abstand in y-Richtung |
font | Schriftart, z.B. "Arial 20" |
from tkinter import *
fenster = Tk()
#fenster.geometry("300x200")
fenster.title("Mein Fenster")
meinLabel = Label(fenster, text="hallo", font="arial 20", bg="white", height=3, width=8)
meinLabel.pack()
s = "Das ist ein langer Text, der auf einem Label dargestellt wird."
lab = Label(fenster, text=s, font="arial 20", wraplength="4c", padx=20)
lab.pack()
fenster.mainloop()
Tk
und ist somit die Guifrom tkinter import *
class Fenster:
def __init__(self):
self.fenster = Tk()
self.fenster.title("OOP Gui")
self.__initGui()
def __initGui(self):
Label(self.fenster, text="Das ist besser").pack()
Label(self.fenster, text="und strukturierter").pack()
def start(self):
self.fenster.mainloop()
f = Fenster()
f.start()
from tkinter import *
class Fenster(Tk):
def __init__(self):
Tk.__init__(self)
self.option_add("*Font", "aerial 20")
self.title("OOP Gui")
self.__initGui()
def __initGui(self):
Label(self, text="Das ist besser").pack()
Label(self, text="und strukturierter").pack()
f = Fenster()
f.mainloop()