Python – tkinter mit Beispielen

Tkinter ist die De-facto-Methode in Python, um grafische Benutzeroberflächen (GUIs) zu erstellen.

Die Installation von Tkinter unter Windows ist genauso einfach wie die Installation von Python 3.x, da Tkinter im Python 3-Kern enthalten ist. Unter Gentoo-Linux muss das USE – Flag von Python angepasst werden.

Um zu überprüfen, ob Tkinter zum Laden durch Python installiert ist, führen Sie den folgenden Code in einer Python-Konsole aus: import tkinter

Falls dort kein Fehler erscheint ist es erfolgreich eingebunden.

Über den Befehl tkinter._test() kann ein Testbutton mit Systeminfos aufgerufen werden.

Ein einfaches Fenster wird durch folgende Befehle erstellt:

from tkinter import *

Das Modul wird importiert
Die Unterstützung für Tkinter ist auf mehrere Module verteilt. Die meisten Anwendungen benötigen das Hauptmodul tkinter sowie das Modul tkinter.ttk, das den modernen thematischen Widget-Satz und die API bereitstellt.

Was ist der Unterschied zwischen TK und TTK in Python?

Das ist der eigentliche Unterschied zwischen den beiden: Tkinter-Widgets sind konfigurierbarer und ttk ist moderner und kann mit Stilen konfiguriert werden, die wirklich praktische Verknüpfungen sind


from tkinter import *
root = Tk()
root.mainloop()

from tkinter import *
from tkinter import ttk
root=Tk()
ttk.Button(root, text="Hallo World").grid()
root.mainloop()

Die Größe des Fensters wird über geometry festgelegt

# import all functions from the tkinter   
from tkinter import *
 
# import messagebox class from tkinter
from tkinter import messagebox

root=Tk()
root.title("Typeitin")
root.geometry("500x800")
root.mainloop()

Nun wird ein Rahmen und ein Title festgelegt.

from tkinter import *
from tkinter import ttk
root=Tk()
root.title("bmi berechnen")
root.geometry('350x400')
ttk.Button(root, text="Hallo World").grid()
root.mainloop()

Das durch unser Skript erzeugte Fenster bleibt solange in der Ereignis-Schleife (Event loop) bis wir das Fenster schließen.

from tkinter import *
import tkinter as tk
def zeigen():
	print ("Der Button wurde geklickt")
root=tk.Tk()
# root window title and dimension
root.title("Einfacher Button")
root.geometry("380x400")
 
# creating button
btn = Button(root, text="Drücken", command=zeigen)
btn.pack()
 
# running the main loop
root.mainloop()

Button mit anderer Farbe

# import all functions from the tkinter   
from tkinter import *
 
# import messagebox class from tkinter
from tkinter import messagebox

def delete():
# whole content of text area widget is deleted
    TextArea.delete(1.0, END)

root=Tk()
root.title("Typeitin")
root.geometry("500x800")
#create a text area for the root
# with lunida 13 font
# text area is for writing the content
delete_Button = Button(root, text = "Löschen", fg = "Black", bg = "Red", command = delete)
delete_Button.pack()

TextArea = Text(root, height = 5, width = 25, font = "lucida 13")
TextArea.pack()
root.mainloop()

Text in Tkinter

Das Text-Widget wird verwendet, wenn ein Benutzer mehrzeilige Textfelder einfügen möchte. Dieses Widget kann für eine Vielzahl von Anwendungen verwendet werden, bei denen mehrzeiliger Text erforderlich ist, z. B. für Nachrichten, das Senden von Informationen oder das Anzeigen von Informationen und viele andere Aufgaben. Wir können auch Mediendateien wie Bilder und Links in das Textwidget einfügen.

Optionale Parameters 
 

root – Hauptfenster
bg – Hintergrundfarbe
fg – Vordergrundfarbe
bd – Rahmen des widget
height – Höhe des Widget
width – Breite des Widget
font – Schrift des Widgets
cursor – Der Typ des zu verwendenden Cursors.
insetofftime – Die Zeit in Millisekunden, für die das Blinken des Cursors ausgeschaltet ist.
insertontime – die Zeit in Millisekunden, für die der Cursor blinkt.
padx – horizontale Polsterung. 
pady – vertikale Polsterung. 
state – Definiert, ob das Widget auf Maus- oder Tastaturbewegungen reagiert.
highlightthickness – Definiert die Stärke des Fokus-Highlights.
insertionwidth – Definiert die Breite des Einfügezeichens.
relief – Art des Randes, die SUNKEN, RAISED, GROOVE und RIDGE sein kann.
yscrollcommand – um das Widget vertikal scrollbar zu machen.
xscrollcommand – um das Widget horizontal scrollbar zu machen.
 

Bitte die unterschiedlichen Layout-Manager beachten.

                                                typeitin.py                                                               
from tkinter import *
from tkinter import ttk

root = Tk()
root.title("Typeitin")
root.geometry('250x600')

T = Text(root, height=2, width=30)
T.pack()
T.insert(END, "Willkommen zu \n Typeitin")

message = Entry(root, width=10)
message.pack()  
message.insert(0, "")

ttk.Button(root, text="Eintrag hinzufügen").pack()

root.mainloop()
from tkinter import *
from tkinter import ttk

def addText():
    text_to_add = message.get()  # Den eingegebenen Text abrufen
    T.insert(END, text_to_add + "\n")  # Text zum Textfeld hinzufügen
    message.delete(0, END)  # Eingabefeld leeren

root = Tk()
root.title("Typeitin")
root.geometry('250x600')

T = Text(root, height=10, width=30)
T.pack()
T.insert(END, "Willkommen zu \nTypeitin\n")

message = Entry(root, width=10)
message.pack()  
message.insert(0, "")

# Create Go! Button
go_button = Button(root, text="GO!", command=addText, bg="#6FAFE7", width=15)
go_button.pack(pady=5)
ttk.Button(root, text="Eintrag hinzufügen").pack()

root.mainloop()

# import all functions from the tkinter   
from tkinter import *
 
# import messagebox class from tkinter
from tkinter import messagebox

def delete():
# whole content of text area widget is deleted
    TextArea.delete(1.0, END)

root=Tk()
root.title("Typeitin")
root.geometry("500x800")
#create a text area for the root
# with lunida 13 font
# text area is for writing the content
delete = Button(root, text = "Löschen", fg = "Black", bg = "Red", command = delete)

TextArea = Text(root, height = 5, width = 25, font = "lucida 13")
root.mainloop()

Canvas

Das Canvas-Element unter Tkinter stellt verschiedene grafische Möglichkeiten zur Verfügung, wie zum Beispiel Linien, Kreise, Bilder und sogar die Mgölichkeit andere Widgets einzubauen. .