Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:beispiele

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:beispiele [2022/03/04 17:10] – [Verkettete Liste] roehnerde: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:
     #Verarbeitung     #Verarbeitung
     if not EAN.isdigit():     if not EAN.isdigit():
-        self.ausgeben('Eine EAN darf keine Zeichen aus Ziffern enthalten!')+        self.ausgeben('Eine EAN darf keine anderen Zeichen als Ziffern enthalten!')
     if len(EAN) == 13:     if len(EAN) == 13:
         self.ausgeben('Länge der EAN: 13')         self.ausgeben('Länge der EAN: 13')
Zeile 62: Zeile 63:
 **Download:** **Download:**
   *[[https://www.guipy.de/examples/de/ean.zip |ean.zip]]    *[[https://www.guipy.de/examples/de/ean.zip |ean.zip]] 
 +
 +=== 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()
 +</code>
 +
 +Die Ausgabe ist in Qt einfacher als in Tkinter/TTK:
 +
 +<code python>
 +    def output(self, line):
 +        self.Output.appendPlainText(line)
 +</code>
 +  
 +**Download**:
 +  *[[https://www.guipy.de/examples/de/qtean.zip|qtean.zip]] 
  
 ==== Auto ==== ==== Auto ====
Zeile 83: Zeile 101:
   self.auto1 = Auto('DA RR 1013', 47, 7.3)   self.auto1 = Auto('DA RR 1013', 47, 7.3)
 </code> </code>
 +
 +=== Tkinter/TTK ===
  
 Beim Tanken wird die in das Entry-Widget eingegebene Menge über die get()-Methode der zum Widget gehörenden Kontrollvariablen //eMengeCV// eingelesen und mittels //float// in den benötigten Datentyp konvertiert. Beim Tanken wird die in das Entry-Widget eingegebene Menge über die get()-Methode der zum Widget gehörenden Kontrollvariablen //eMengeCV// eingelesen und mittels //float// in den benötigten Datentyp konvertiert.
Zeile 113: Zeile 133:
   *[[https://www.guipy.de/examples/de/auto.zip |auto.zip]]    *[[https://www.guipy.de/examples/de/auto.zip |auto.zip]] 
  
 +=== 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, checked):
 +        # Eingabe über die GUI
 +        Menge = float(self.leMenge.text())
 +        # Verarbeitung
 +        self.auto1.tanken(Menge)
 +        # Ausgabe
 +        self.anzeigen()
 +</code>
 +
 +Dann wird gemäß dem EVA-Prinzip die eingegebene Menge in der Methode //tanken()// verarbeitet. 
 +
 +Abschließend erfolgt die Ausgabe des Ergebnisses in einer eigenen Methode //anzeigen()//. Die Werte für Kennzeichen, Tankinhalt und Kilometerstand werden über die get()-Methoden der Klasse Auto abgerufen und an die setText()-Methoden der der LineEdit-Widgets für Kennzeichen, Tankinhalt und Kilometerstand übergeben:
 +
 +<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(), 160)
 +</code>
 +
 +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://www.guipy.de/examples/de/qtauto.zip |qtauto.zip]] 
  
 ==== Verkettete Liste ==== ==== Verkettete Liste ====
de/beispiele.1646410221.txt.gz · Zuletzt geändert: 2022/03/04 17:10 von roehner