Benutzer-Werkzeuge

Webseiten-Werkzeuge


edu:gui_mit_tkinter

GUI mit tkinter

In Python lassen sich einfache grafische Benutzeroberflächen (GUI) mit dem Modul tkinter erstellen. Wir wollen dies an einem kleinen Beispiel durchspielen.

In der Abbildung sind ein Button, ein Eingabefeld (Entry) und ein Label abgebildet. Zunächst trägt man seinen Namen in das Textfeld ein. Bei einem Klick auf den Button wird man mit seinem Namen begrüßt.

Es folgt der Quelltext.

from tkinter import * # Alle Funktionen aus tkinter importieren
 
class App:
 
    def __init__(self):
        fenster = Tk()                  # Fenster öffnen
        fenster.title("tkinter Demo")   # Titel des Fensters festlegen
 
        button = Button(
            fenster, text="OK", command=self.button_click)  # Button erstellen
                                                            # Bei einem Klick wird die Methode button_click ausgeführt
        button.pack()                                       # Button in Fenster positionieren
 
        self.entry = Entry(fenster) # Eingabefeld erstellen
        self.entry.insert(0, "Name")# Einen Text einfügen
        self.entry.pack()           # Das Eingabefeld im Hauptfenster positionieren
 
        self.lbl = Label(fenster, text="Name eingeben") # Label mit Test erstellen
        self.lbl.pack()                                 # Label im fenster positionieren
 
        fenster.mainloop()
 
    def button_click(self):
        eingabe = self.entry.get()                  # Test aus dem Eingabefeld auslesen
        self.lbl.configure(text="Hallo " + eingabe) # Neuen Text setzen
 
 
 
app = App() # Die App wird erstellt und automatisch gestartet

Das tkinterbook beschreibt viele weitere Komponente von tkinter zeigt an Beispielen, wie man daraus eine einfache GUI erstellen kann. In dem Buch Raspberry Pi – das umfasssende Handbuch, Kap. 20.9 (Grafische Benutzerschnittstelle mit tkinter) wird die Verwendung mit konkreten Beispielen beschrieben. Schließlich findet sich in der tkinter Referenz eine ausführliche Beschreibung.

Grafische Programmierung

Die grafische Programmierung erfolgt mit Hilfe des Canvas-Widget. Ein Einführung über dessen Benutzung steht in „Kapitel 8.3.2: Die Klasse Canvas“ in dem Buch Raspberry Pi programmieren mit Python.

Weitere Frameworks

Neben tkinter gibt es eine Menge weiterer GUI-Frameworks für die Erstellung von GUI-Anwendungen. Die offizielle FAQ zu Python 3 listet einige auf. Für PyQt gibt es etwa ein Tutorial, das die Verwendung des Qt-Framework für Python erläutert.

Vielleicht ist aber auch eine Fensteranwendung gar nicht die richtige Wahl. Eine Anwendung kann ja z.B. auch über den Browser bedient werden. Hier gibt es einfache Web-Frameworks wie Flask oder, noch einfacher, Bottle oder schließlich Django für die professionelle Web-Entwicklung.

  • Python GUI Programming - Tutorial über tkinter.
  • Python GUI examples - ein weiteres Tutorial.
  • Das Pixelflut-Projekt erlaubt es, einen Bildschirm über das Netz freizugeben. Einzelne Pixel können mit TCP-Paketen gesetzt werden.
  • PySimpleGUI setzt auf tkinter auf und ermöglicht eine einfachere Art der Programmierung.
edu/gui_mit_tkinter.txt · Zuletzt geändert: 2024-01-28 17:57 von pintman