Kivy – plattformübergreifende GUI-Entwicklung mit Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung

Kivy ist ein leistungsstarkes, quelloffenes Framework zur Erstellung grafischer Benutzeroberflächen und plattformübergreifender Anwendungen in Python. Es unterstützt Android, iOS, Windows, Linux und macOS und ist daher die ideale Wahl für die Entwicklung mobiler und Desktop-Apps mit einer einzigen Codebasis.

Die Bibliothek bietet Werkzeuge für adaptive Oberflächen, die Verarbeitung von Tastatur-, Maus-, Sensor- und Multitouch-Eingaben sowie eine eigene Auszeichnungssprache KV zur Trennung von Logik und UI. Kivy nutzt OpenGL für das Rendering, was eine hohe Leistung und flüssige Animationen gewährleistet.

Was ist Kivy und seine Besonderheiten

Die wichtigsten Vorteile des Frameworks

Kivy hebt sich durch mehrere wichtige Eigenschaften von anderen Bibliotheken zur GUI-Erstellung ab. Das Framework ist vollständig in Python geschrieben und verwendet Cython für kritische Komponenten, was eine hohe Leistung ermöglicht.

Zu den Hauptmerkmalen gehören:

  • Native Unterstützung für Multitouch und Gesten
  • Hardwarebeschleunigung durch OpenGL ES 2.0
  • Automatische Skalierung der Oberfläche für verschiedene Bildschirmauflösungen
  • Modulare Architektur mit Erweiterungsmöglichkeiten
  • Integrierte Unterstützung für Animationen und Effekte

Architektur des Frameworks

Kivy basiert auf einer modularen Architektur, bei der jede Komponente ersetzt oder erweitert werden kann. Der Kern des Frameworks besteht aus mehreren Hauptmodulen: Clock für das Zeitmanagement, Window für die Arbeit mit dem Anwendungsfenster, Factory zur Objekterstellung und Cache zur Leistungsoptimierung.

Installation und Einrichtung

Basisinstallation von Kivy

pip install kivy

Für die Entwicklung unter Android wird das zusätzliche Tool Buildozer benötigt:

pip install buildozer

Abhängigkeiten für verschiedene Plattformen installieren

Windows

pip install kivy[base,media]

Linux (Ubuntu/Debian)

sudo apt-get install python3-kivy

macOS

brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip install kivy

Installation überprüfen

Nach der Installation können Sie die Funktionsfähigkeit mit einem einfachen Test prüfen:

import kivy
print(kivy.__version__)

Erste App erstellen

Einfachste Kivy-Anwendung

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text="Klick mich")

MyApp().run()

Wenn Sie diesen Code ausführen, öffnet sich ein Fenster mit einem Button, der den gesamten Bereich ausfüllt.

Struktur einer Kivy-App

Jede Kivy-Anwendung hat die folgende grundlegende Struktur:

  • App — die Hauptklasse, die die Anwendung startet und verwaltet
  • Widget — das Basiselement der Oberfläche, von dem alle Komponenten abgeleitet werden
  • Layout — Container zur Anordnung von Widgets (BoxLayout, GridLayout und andere)
  • Screen — einzelne Bildschirme der App für die Navigation

Lebenszyklus der Anwendung

Eine Kivy-App durchläuft mehrere Phasen:

  1. Initialisierung der App-Klasse
  2. Aufruf der build()-Methode zur Erstellung der Oberfläche
  3. Start der Haupt-Ereignisschleife
  4. Verarbeitung von Benutzereingaben
  5. Beenden der Anwendung beim Schließen

Wichtige Komponenten und Widgets

Basis-Widgets der Benutzeroberfläche

Label — Text anzeigen

from kivy.uix.label import Label

label = Label(                    

Empfehlungen