c't 1/2016
S. 178
Know-how
GUIs mit Python
Aufmacherbild

Fensterbeschwörung

PySide: grafische Programme mit Python und Qt

Kleine Python-Programme für die Konsole sind schnell geschrieben. Aber nicht jeder mag die Textkonsole, und GUI-Programme bedienen sich oft leichter. Mit PySide stricken Sie unaufwendig grafische Oberflächen für Ihre Skripte.

PySide ist eine Python-Schnittstelle für das plattformübergreifende, in C++ geschriebene GUI-Framework Qt. Dabei behält sie Klassen- und Funktionsnamen der Vorlage bei, sodass die für C++ gedachte Qt-Dokumentation auch bei PySide hilft. Noch leichter geht es mit PySides eigener Dokumentation (siehe c’t-Link am Ende des Artikels).

Als Programmierbeispiel erweitern wir unseren selbst geschriebenen Passwort-Manager c’t SESAM mit Hilfe von PySide um eine grafische Oberfläche. In unserer Einführung in die Python-Programmierung [1] und dem darauf aufbauenden Einstieg in die objektorientierte Programmierung [2] entstand ein Passwort-Manager, der aus Domains und einem Masterpasswort sichere Passwörter berechnet. Auch die GUI-Version steht als freie Software auf GitHub zum Download bereit (siehe c’t-Link). Die Logik zum Speichern und Synchronisieren der Einstellungen konnten wir dank objektorientierter Programmierung ohne Änderung von der Konsolenversion übernehmen. Das grafische Programm soll in einem kleinen Fenster zur Eingabe von Masterpasswort, Domain und Nutzernamen auffordern. Zur Auswahl der Stärke des Passworts dient ein eigenes GUI-Element, in dem Nutzer Länge und Zeichenauswahl bestimmen können.