<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GUI &#8211; ChatGPT, KI und Software auf dem Raspberry Pi</title>
	<atom:link href="https://progpi.de/tag/gui/feed/" rel="self" type="application/rss+xml" />
	<link>https://progpi.de</link>
	<description>ChatGPT, KI und die Zukunft</description>
	<lastBuildDate>Thu, 01 Sep 2022 07:13:08 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://progpi.de/wp-content/uploads/2019/01/cropped-ProgPi_512-32x32.png</url>
	<title>GUI &#8211; ChatGPT, KI und Software auf dem Raspberry Pi</title>
	<link>https://progpi.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Auf dem Raspberry Pi eine GUI programmieren</title>
		<link>https://progpi.de/raspberry-gui-programmieren/</link>
		
		<dc:creator><![CDATA[Harald Schmidt]]></dc:creator>
		<pubDate>Sat, 24 Nov 2018 09:30:04 +0000</pubDate>
				<category><![CDATA[Entwickungsumgebungen]]></category>
		<category><![CDATA[dialog]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[whiptail]]></category>
		<category><![CDATA[zenity]]></category>
		<guid isPermaLink="false">https://progpi.de/?p=1130</guid>

					<description><![CDATA[<p>Wer eine grafische Oberfläche (GUI) programmieren möchte, will damit dem Benutzer zu einer leichteren Bedienung verhelfen. Auch Raspbian Buster hat -wie alle Vorgänger- eine GUI bzw. einen Desktop der z.B. ein Öffnen, Verschieben und Vergrößern von Fenstern ermöglicht. Eine GUI mit C/C++ Das Design einer GUI kann heute mit sehr vielen Programmiersprachen und Bibliotheken geschehen. [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://progpi.de/raspberry-gui-programmieren/">Auf dem Raspberry Pi eine GUI programmieren</a> erschien zuerst auf <a rel="nofollow" href="https://progpi.de">ChatGPT, KI und Software auf dem Raspberry Pi</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Wer eine grafische Oberfläche (<a href="https://de.wikipedia.org/wiki/Grafische_Benutzeroberfl%C3%A4che" target="_blank" rel="noopener"><u>GUI</u></a>) programmieren möchte, will damit dem Benutzer zu einer leichteren Bedienung verhelfen.  Auch Raspbian Buster hat -wie alle Vorgänger- eine GUI bzw. einen Desktop der z.B. ein Öffnen, Verschieben und  Vergrößern von Fenstern ermöglicht. </p>



<h2 class="wp-block-heading">Eine GUI mit C/C++</h2>



<p>Das Design einer GUI kann heute mit sehr vielen Programmiersprachen und Bibliotheken geschehen.  So ist z.B. <a href="https://de.wikipedia.org/wiki/GTK_(Programmbibliothek)" target="_blank" rel="noopener"><u>GTK+</u></a> ein Toolkit mit dem grafische Oberflächen mit C++ programmiert werden. Als Anwender eines Betriebssystems wie Raspbian müssen Sie sich darüber Gedanken machen wie die Oberfläche Ihres Programms aussehen soll, damit es von Ihnen oder anderen leicht und sicher verwendet werden kann. Für die effektive Entwicklung von C/C++ Programmen brauchen Sie eine sogenannte Entwicklungsumgebung (<a href="https://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung" target="_blank" rel="noopener"><u>IDE</u></a>), die einen Texteditor mit Syntaxhighlight mit Werkzeugen zur Programmerstellung vereint.  Der <a href="https://de.wikipedia.org/wiki/Qt_Creator" target="_blank" rel="noopener"><u>QtCreator</u></a> oder <a href="https://de.wikipedia.org/wiki/Code::Blocks" target="_blank" rel="noopener"><u>Code::Blocks</u></a> sind dafür bekannte Beispiele. Auch <a href="https://de.wikipedia.org/wiki/Geany" target="_blank" rel="noopener"><u>Geany</u></a> ist wunderbar auf dem Raspberry Pi verwendbar. </p>



<h2 class="wp-block-heading">Eine GUI mit Bash </h2>



<p>Etwas anders sieht die Vorgehensweise aus, wenn Sie systemnahe Dinge tun wollen (z.B. Dateien auflisten und auswählen) und keine zu hohen Ansprüche an die zu entwickelnde Bedienoberfläche (GUI) stellen. Ein einfacher Programmstarter kann darin bestehen, mehrere Programme mit unterschiedlichen Parametern aufzulisten, per Cursortasten eine Auswahl zu treffen und mit Enter das gewünschte Programm zu starten. So etwas hat es auch schon gegeben, als der PC noch sehr jung war und nur ASCII-Zeichen anzeigen konnte. </p>



<p>Wenn Sie mit <a href="https://de.wikipedia.org/wiki/Bash_(Shell)" target="_blank" rel="noopener"><u>Bash</u></a> eine GUI entwickeln wollen, dann gibt es dafür Tools in folgender Abfolge bzw. Leistungsfähigkeit:</p>



<p><strong>whiptail -&gt; dialog -&gt; Zenity</strong></p>



<p>Der RPi-Desktop ist die grafische Oberfläche des Raspbian Betriebssystems. Während whiptail und dialog nur mit dem ASCII-Zeichensatz arbeiten, benötigt Zenity den RPi-Desktop &#8211; was aber zu einer viel schöneren optischen Darstellung führt. Wie eine Zenity Oberfläche aussehen kann, sehen Sie bei den <strong><a href="https://progpi.de/videos/"><u>Screencast</u></a></strong>-Videos zum Buch.  Ein guter Einstieg um eine Raspberry GUI zu programmieren.</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="1024" height="640" src="https://progpi.de/wp-content/uploads/2019/07/zenitygui_bash_script-1024x640.png" alt="Eine zenity GUI und deren Bash Skript" class="wp-image-1145" srcset="https://progpi.de/wp-content/uploads/2019/07/zenitygui_bash_script-1024x640.png 1024w, https://progpi.de/wp-content/uploads/2019/07/zenitygui_bash_script-300x188.png 300w, https://progpi.de/wp-content/uploads/2019/07/zenitygui_bash_script-768x480.png 768w, https://progpi.de/wp-content/uploads/2019/07/zenitygui_bash_script.png 1512w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><strong>Eine aktive Zenity-GUI und deren Bash Skript</strong></figcaption></figure>



<p>Vielleicht werden Sie sich jetzt fragen, warum man sich überhaupt mit whiptail oder <a href="https://wiki.ubuntuusers.de/Dialog/" target="_blank" rel="noopener"><u>dialog</u></a> beschäftigen soll, wenn <a href="https://de.wikipedia.org/wiki/Zenity" target="_blank" rel="noopener"><u>Zenity</u></a> optisch viel ansprechender ist. Aber in der Praxis stellt sich diese Frage eher in der Form, ob Sie bei einem Fernzugriff (z.B. auf einen Raspberry Pi Zero W) auf der Zielplattform eine grafische Oberfläche laufen haben. Wenn das der Fall ist, arbeiten Sie z.B. mit TightVNC und können folglich Zenity verwenden. Wenn aber die Zielplattform keinen RPi-Desktop hat (es gibt ja auch ein Raspbian ohne GUI) dann sind nur noch whiptail und dialog verwendbar. Der Begriff <strong><u><a href="https://progpi.de/basiswissen#asciigui">ASCII-GUI</a></u></strong> wird übrigens auch bei <a href="https://progpi.de/basiswissen/"><strong><u>Basiswissen</u></strong></a> erläutert. </p>



<p>Alle drei genannten Tools (whiptail,dialog,Zenity) haben übrigens eine recht ähnliche Aufrufsyntax, so daß ein Umstieg nicht schwerfällt, wenn man mit Bash vertraut ist. Zenity-Dialoge können übrigens auch in Python sowie anderen Programmiersprachen erstellt werden.</p>
<p>Der Beitrag <a rel="nofollow" href="https://progpi.de/raspberry-gui-programmieren/">Auf dem Raspberry Pi eine GUI programmieren</a> erschien zuerst auf <a rel="nofollow" href="https://progpi.de">ChatGPT, KI und Software auf dem Raspberry Pi</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
