Aus Raspberry Pi Geek 10/2021

Mit Qt 5 GUIs auf dem RasPi erstellen

© fxquadro / 123RF.com

Caesars Geheimnis

Martin Mohr

Die Entwicklungsumgebung Qt Creator lässt sich ohne nennenswerte Reibungsverluste auch auf dem Raspberry Pi betreiben.

Im Folgenden sehen wir uns an, wie Sie auf dem Raspberry Pi schicke grafische Oberflächen mit Qt 5 in C++ programmieren. Dabei gehen wir darauf ein, welche Software Sie dazu brauchen, und geben eine kurze Einführung in das Qt-Framework. Zum Entwickeln kommt die komfortable IDE Qt Creator zum Einsatz. Unser Beispielprogramm ver- und entschlüsselt Texte mit der sogenannten Caesar-Chiffre.

Qt-Basics

Bei Qt handelt es sich um ein Framework zum Entwickeln grafischer Benutzeroberflächen in C++. Es dient unter anderem als Basis für die beliebte Desktop-Umgebung KDE sowie zahlreiche bekannte Tools wie Telegram, Skype, VLC und Virtualbox. Der Name Qt steht als Kürzel für Q-Toolkit und wird wie das englische “cute” (süß, hübsch, pfiffig) ausgesprochen, was die Entwickler als Anspielung auf die Eleganz und hohe Funktionalität des Codes verstanden wissen wollen.

Die plattformübergreifende Entwicklung von Qt begann bereits 1991; heute gibt es Portierungen für unterschiedlichste Programmiersprachen wie zum Beispiel Java, Python, PHP, Ruby, C# und viele mehr. Qt besteht aus reinem C++-Code, deswegen ist es sinnvoll, Qt-Anwendungen in derselben Sprache zu entwickeln.

Qt arbeitet mit sogenannten Widgets, also Komponenten, aus denen sich ein Benutzer-Interface aufbauen lässt. Neben den üblichen Bestandteilen wie Buttons oder Textfeldern gibt es auch komplexe Widgets wie Kalender oder Verzeichnisbäume. Unterschiedliche Layouts erlauben es, aus den Komponenten beliebige Benutzerschnittstellen aufzubauen.

Das Qt-Framework arbeitet nach dem einfachen Signal-Slot-Kommunikationskonzept: Objekte senden Signale an Slots; andere Objekte, die sich mit einem entsprechenden Slot verbinden, empfangen diese. So erreicht man eine lose Kopplung von unterschiedlichen Modulen.

Installation

Als Basis für unsere Experimente verwenden wir Raspberry Pi OS, das Sie mit dem RPi-Imager [1] direkt auf eine SD-Karte schreiben. Das Tool lädt die Abbilddatei automatisch herunter und speichert sie. In vielen Linux-Distributionen gehört das Paket bereits zur Standardausstattung, sodass es sich einfach installieren lässt.

Um Qt und Qt Creator auf dem RasPi zu installieren, führen Sie die Schritte aus Listing 1 aus. Achten Sie dabei auf die Reihenfolge – andernfalls bekommt die Entwicklungsumgebung Probleme, nachträglich installierte Komponenten richtig zu erkennen.

Listing 1

Installation

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install qt5-default valgrind
$ sudo apt install qtdeclarative5-dev
$ sudo apt install qt5-doc qt5-doc-html qtbase5-doc-html qtbase5-examples
$ sudo apt install qtcreator

Nach dem fehlerfreien Durchlauf aller Schritte starten Sie Qt Creator auf der Kommandozeile mit dem Aufruf qtcreator. Auf der linken Seite des Fensters befinden sich Icons, mit denen Sie später die unterschiedlichen Bereiche von Qt Creator anwählen. Da wir auch die Beispiele mit installieren, erscheinen diese nach dem Start im Interface (Abbildung 1). Sie lassen sich gut als Basis für eigene Programme verwenden. Nehmen Sie sich ruhig die Zeit, um einmal nachzusehen, was es alles schon gibt. Das erleichtert den Einstieg in Qt und zeigt das Potenzial der Plattform.

Abbildung 1: Direkt nach der Installation zeigt Qt&nbsp;Creator eine Reihe von Beispielprogrammen aus dem Paket <span class="ui-element">qtbase5-examples</span> an.

Abbildung 1: Direkt nach der Installation zeigt Qt Creator eine Reihe von Beispielprogrammen aus dem Paket qtbase5-examples an.

Beispielprojekt

Als Beispielprojekt erstellen wir im Folgenden ein Programm, das es erlaubt, Texte mittels der sogenannten Caesar-Chiffre zu ver- und entschlüsseln. Wie diese funktioniert, lesen Sie im Kasten “Caesar-Verschlüsselung”. Das Frontend benötigt zwei Textfelder für den Klartext und den verschlüsselten Text, zwei Buttons zum Ver- und Entschlüsseln und zu guter Letzt ein Textfeld, mit dem Sie den Verschiebefaktor der Caesar-Chiffre festlegen.

Caesar-Verschlüsselung

Bei der sogenannten Caesar-Chiffre handelt es sich um eine einfache Verschiebung aller Buchstaben des Alphabets um einen festen Wert. Bei einer Verschiebung um drei Zeichen wird also aus einem A ein D, aus einem B ein E und so weiter. Gaius Iulius Caesar verwendete stets die Verschiebung um drei Buchstaben, doch lässt sich auch jeder andere Wert verwenden. Das Entschlüsseln erfolgt über eine Rückverschiebung. Aus heutiger Sicht ist dieses Verfahren zwar alles andere als sicher, eignet sich aber dennoch, um zu verhindern, dass jemand einen Text direkt mitliest. Ohne technische Hilfsmittel dauert es schon eine Weile, einen solchen Text zu dechiffrieren. Daher kommt diese Verschlüsselung oft bei Knobelaufgaben oder Escape-Room-Spielen zum Einsatz.

Vor dem Start der Entwicklung legen Sie zunächst mit mkdir caesar einen neuen Ordner für das Projekt an. Das Erstellen eines neuen Projekts mit Qt Creator erledigen Sie über einen Assistenten, den Sie unter dem Menüpunkt File | New File or Project | Application | Qt Widgets Application finden.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben