c't 7/2017
S. 176
Praxis
Python-GUI-Entwicklung
Aufmacherbild

Mit und ohne X

GUI-Entwicklung mit Kivy für Python

Ob im Fenster oder gänzlich ohne X-Server, mit der Python-Bibliothek Kivy programmieren Sie grafische Anwendungen leicht und nahezu plattformunabhängig, zum Beispiel für den Desktop oder Embedded-Systeme wie den Raspberry Pi.

Die Kivy-Bibliothek für Python bringt grafische Anwendungen auf den Schirm, egal ob bereits ein X-Server mit Desktop läuft oder nicht. So ist Kivy nicht nur für Python-Programmierer interessant, die sich eine ansprechende und leicht zu bedienende Oberfläche für ihre Anwendungen wünschen, sondern auch für Embedded-Entwickler, die etwa mit einem Raspberry Pi oder einem anderen Embedded-System eine Appliance bauen wollen. Dabei unterstützt Kivy Touchscreens wie selbstverständlich und lässt sich mit Gesten bedienen.

Läuft kein X-Server, spricht Kivy die Grafik-Hardware via OpenGL direkt an. So starten Kivy-Programme nicht nur auf dem Desktop-PC unter X, sondern auch auf Embedded-Boards wie dem Raspberry Pi ohne X-Server. Das spart nicht nur Ressourcen, sondern erleichtert auch die Bedienung über Touch-Displays, weil Gesten möglich sind. Deshalb fiel die Wahl auf Kivy, als wir nach einer Bibliothek zur Ansteuerung des Internet-Radios aus [1] suchten.

Kommentare lesen (3 Beiträge)

Ergänzungen & Berichtigungen

$HOME statt /root

Die Konfigurationsdatei von Kivy liegt generell im Home-Verzeichnis des Benutzers, der die Anwendung ausführt -- der generische Pfad lautet also $HOME/.kivy/config.ini. Für Appliances auf dem Raspberry Pi, die meist mit Root-Rechten laufen, ist dies /root/.kivy/config.ini.