de:beispiele
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:beispiele [2022/03/04 16:59] – [Auto] roehner | de:beispiele [2022/08/25 21:33] (aktuell) – [EAN-Prüfung] roehner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Beispiele ===== | ===== Beispiele ===== | ||
==== EAN-Prüfung ==== | ==== EAN-Prüfung ==== | ||
+ | === Tkinter/TTK === | ||
Die EAN-Prüfung ist ein Beispiel für eine einfache GUI-Anwendung. Sie hat ein Entry-Widget für die Eingabe einer EAN und ein Text-Widget für die mehrzeilige Ausgabe von Ergebnissen. | Die EAN-Prüfung ist ein Beispiel für eine einfache GUI-Anwendung. Sie hat ein Entry-Widget für die Eingabe einer EAN und ein Text-Widget für die mehrzeilige Ausgabe von Ergebnissen. | ||
Zeile 14: | Zeile 15: | ||
# | # | ||
if not EAN.isdigit(): | if not EAN.isdigit(): | ||
- | self.ausgeben(' | + | self.ausgeben(' |
if len(EAN) == 13: | if len(EAN) == 13: | ||
self.ausgeben(' | self.ausgeben(' | ||
Zeile 62: | Zeile 63: | ||
**Download: | **Download: | ||
*[[https:// | *[[https:// | ||
+ | |||
+ | === Qt Variante der EAN-Prüfung === | ||
+ | In Qt haben wir ein LineEdit-Widget für die Eingabe und ein PlainTextWidget für die Ausgabe. Um die EAN zu lesen, verwenden wir die Methode //text()// des LineEdit-Widgets. | ||
+ | |||
+ | <code python> | ||
+ | EAN = self.leEAN.text() | ||
+ | </ | ||
+ | |||
+ | Die Ausgabe ist in Qt einfacher als in Tkinter/ | ||
+ | |||
+ | <code python> | ||
+ | def output(self, | ||
+ | self.Output.appendPlainText(line) | ||
+ | </ | ||
+ | | ||
+ | **Download**: | ||
+ | *[[https:// | ||
==== Auto ==== | ==== Auto ==== | ||
Zeile 83: | Zeile 101: | ||
self.auto1 = Auto(' | self.auto1 = Auto(' | ||
</ | </ | ||
+ | |||
+ | === Tkinter/TTK === | ||
Beim Tanken wird die in das Entry-Widget eingegebene Menge über die get()-Methode der zum Widget gehörenden Kontrollvariablen // | Beim Tanken wird die in das Entry-Widget eingegebene Menge über die get()-Methode der zum Widget gehörenden Kontrollvariablen // | ||
Zeile 98: | Zeile 118: | ||
Dann wird gemäß dem EVA-Prinzip die eingegebene Menge in der Methode // | Dann wird gemäß dem EVA-Prinzip die eingegebene Menge in der Methode // | ||
- | Abschließend erfolgt die Ausgabe des Ergbnisses | + | Abschließend erfolgt die Ausgabe des Ergebnisses |
<code python> | <code python> | ||
Zeile 113: | Zeile 133: | ||
*[[https:// | *[[https:// | ||
+ | === Qt === | ||
+ | |||
+ | Beim Tanken wird die eingegebene Menge über die text()-Methode des LineEdit-Widgets eingelesen und mittels //float// in den benötigten Datentyp konvertiert. | ||
+ | |||
+ | <code python> | ||
+ | def bTanken_clicked(self, | ||
+ | # Eingabe über die GUI | ||
+ | Menge = float(self.leMenge.text()) | ||
+ | # Verarbeitung | ||
+ | self.auto1.tanken(Menge) | ||
+ | # Ausgabe | ||
+ | self.anzeigen() | ||
+ | </ | ||
+ | |||
+ | Dann wird gemäß dem EVA-Prinzip die eingegebene Menge in der Methode // | ||
+ | |||
+ | Abschließend erfolgt die Ausgabe des Ergebnisses in einer eigenen Methode // | ||
+ | |||
+ | <code python> | ||
+ | self.leKennzeichen.setText(self.auto1.get_Kennzeichen()) | ||
+ | self.leTankinhalt.setText(str(self.auto1.get_Tankinhalt())) | ||
+ | self.leKilometerstand.setText(str(self.auto1.get_Kilometerstand())) | ||
+ | self.lAuto.move(self.auto1.get_Kilometerstand(), | ||
+ | </ | ||
+ | |||
+ | Dem Label-Widget //lAuto// wurde im Objektinspektor über das Attribut //Pixmap// ein Auto-Bild zugewiesen. Mit der move()-Methode wird die x-Position des Autos auf den Kilometerstand gesetzt. | ||
+ | |||
+ | |||
+ | **Download** | ||
+ | *[[https:// | ||
==== Verkettete Liste ==== | ==== Verkettete Liste ==== | ||
- | Die Programmierung dynamische Datenstrukturen stellt eine erhebliche Herausforderung dar, denn man muss das Konzept der Verkettung mittels Verweisen verstehen und komplexe Operationen mit Verweisen | + | Die Programmierung dynamische Datenstrukturen stellt eine erhebliche Herausforderung dar, denn man muss das Konzept der Verkettung mittels Verweisen verstehen und komplexe Operationen mit Verweisen |
In diesem Beispiel betrachten wir eine einfach verkettete lineare Liste. Die Liste selbst wird als Klasse // | In diesem Beispiel betrachten wir eine einfach verkettete lineare Liste. Die Liste selbst wird als Klasse // | ||
Zeile 131: | Zeile 181: | ||
- Die Liste ist leer. | - Die Liste ist leer. | ||
- Es soll am Anfang eingefügt werden. | - Es soll am Anfang eingefügt werden. | ||
- | - Es soll am Ende eingefügt | + | - Es soll am Ende eingefügt |
- Es soll zwischen zwei Knoten eingefügt werden. | - Es soll zwischen zwei Knoten eingefügt werden. | ||
de/beispiele.1646409553.txt.gz · Zuletzt geändert: 2022/03/04 16:59 von roehner