Python 3 Grundkurs

Grafische Oberfläche im Beispielprogramm

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Fertigstellung des Beispielprogramms erfolgt über die Einbindung sämtlicher notwendiger GUI-Elemente, um eine grafische Benutzeroberfläche für die Anwendung zu erstellen.

Transkript

In diesem Kapitel habe ich Ihnen bislang gezeigt, wie man GUI-Elemente mit TKinter programmiert, ohne jetzt groß auf Business-Logik zu achten. Und wir hatten ja unsere BMI-Anwendung da war Business-Logik drin, nämlich zum Beispiel, die Berechnung der Formel, der BMI-Formel, und wir werden jetzt unser Programm, dieses test.py nutzen, und zwar als GUI für diese BMI-Anwendung. So, das schauen wir uns jetzt mal an, wir hatten ja bislang ein Hauptprogramm, dieses hier, mit dem wir dann gesteuert haben, wie, wann, was passieren soll, und jetzt haben wir halt eine GUI-Anwendung, und wir haben jetzt Folgendes vor, und zwar - Wenn der Benutzer hier seinen Namen, seine Körpergröße, sein Gewicht angibt, dann soll das Ganze dann berechnet werden, der BMI soll berechnet werden, der neueste BMI-Wert soll dann in die Datenbanken zugefügt werden, und hier in der Listbox sollen auch die BMI-Werte angezeigt werden. So, wie man da vorgeht, dass werde ich Ihnen jetzt zeigen, und zwar haben wir hier unser test.py, und wir haben hier unten diese Werte, die wir benötigen, und jetzt ist es die Frage, wie gehen wir jetzt vor? Gut. Ich werde nochmal die main.py öffnen, weil hier zu sehen ist, in welchen Schritten wir da vorgegangen sind, das schieb ich mal ein bisschen nach rechts rüber, damit man das sehen kann, So, und hier sehen Sie, dass wir als allererstes ein Objekt der Klasse Benutzer erstellt haben. Gut, das machen wir hier auch. das kopier ich mal, und setz das mal hier in diese action-Methode rein, und jetzt schauen wir uns mal an, wie wir da vorgegangen sind: FILE und zwar gehe ich jetzt hier in das Modul BMI rein, und kuck mir die Klasse benutzer an. Und hier sehen Sie, dass wir auf der Kommandozeile nach einem nach einem Namen und einer Körpergröße fragen. das passt natürlich gar nicht mehr, hier müsste eher dann sowas sein: Den haben wir ja bereits, den Namen und die Größe, deswegen übergebe ich das hier als Parameter, und speichere das mal ab, So, und dann schau ich mir mal an, was als nächstes dran wäre, und zwar haben wir hier jetzt den Konstruktor aufgerufen, und jetzt müssen diese Werte hier rein, also - das ist ja der Name - Komma - und - dann brauchen wir auch noch die Größe. So, das waren diese beiden Werte, das nehme ich hier mal ganz raus, und das kommentiere ich mal aus, so, also, wir haben hier an der Stelle haben wir also den Benutzer, einen Benutzer erstellt, und der hat dann einen Namen und eine Größe, so. Bis dahin passt das, wie gehts weiter? Dann haben wir als nächstes einen BMI-Rechner erstellt. Auch das können wir mal hier rein kopieren. Denn das ist eigentlich soweit in Ordnung. Und - ja, und jetzt müssten wir und jetzt müssten wir uns mal den Bereich hier anschauen, danach geht nämlich der Programmablauf an dieser Stelle in diese Schleife hinein und führt die Methode Rechnen aus. So, und die Methode Rechnen, die verlangt nach einer Körpergröße, die haben wir natürlich, das heißt, ich kann das hier auch wieder hier rauskopieren, und dann hier drunter setzen, und das passt dann soweit, die Frage ist, was hier in dem Rechnen passiert, schauen wir uns mal an, das ist hier - ah ja, und dann wird dort wieder auf der Kommandozeile nach einem Gewicht gefragt, das passt wieder nicht, deswegen werde ich hier wieder einen zweiten Parameter reinsetzen, denn auch das Gewicht, das haben wir ja bereits, Und, ich benenne das mal um, das nehme ich mal raus, das brauchen wir nicht, und das benenne ich hier auch um, So, und dann erhalten wir den BMI-Wert als Rückgabewert. So, das speichere ich mal ab. Dann schaue ich mir mal an, was hier noch benötigt wird. Hier übergeben wir den Benutzer, und die Größe des Benutzers, und was wir dann halt auch übergeben sollten, ist das Gewicht. Und zwar hatten wir das ja hier, So, das schneide ich hier mal raus, das kann ich entfernen - und das müsste dann - als zweiter Parameter hier rein. Gut, prima, jetzt haben wir hier eine Berechnung durchgeführt, Und - jetzt gehe ich mal einen Schritt weiter, hier sehen Sie, dass eine Auswertung durchgeführt wird, die Auswertung, die werden wir an dieser Stelle mal weglassen, und stattdessen werden wir den Wert über bmirechner hinzufügen, mal hinzufügen. So, das heißt, wir sind jetzt hier. Und da füge ich den Wert mal hinzu benutzer.name Komma bmi - das schaue ich mir mal an - was bisher dort drinsteht - hier sehen Sie das Hinzufügen - das geht hin und aktualisiert den Datenspeicher und dann - die Datenbank - gut, das passt soweit. Und hier geben wir die Werte aus, das müssen wir hier natürlich anders programmieren, Ich werd hier jetzt hingehen und - dann in die Listbox reinschreiben, und zwar muss ich zunächst mal überprüfen, ob der Benutzername in dem Bmirechner, in dem Datenspeicher überhaupt drin ist, So - denn in dem Fall kann ich mir seine BMI-Werte nun alle holen, über Bmirechner.datenspeicher hier muss ich als Schlüssel den Namen angeben von dem Benutzer, benutzer.name war das. Und jetzt kann ich durch die bmi-Werte iterieren über for bmi in bmis und kann mir die Werte in die Listbox reintragen, also self.listbox.insert und immer ans Ende - und am besten sorge ich dafür, dass der bmi-Wert auch immer eine Zeichenkette ist, das heißt, ich nutze hier die Built-In-Funktion STR Und bin dann eigentlich fertig. So, jetzt werden die bmi-Werte am Ende immer wieder nachgefüllt, Jetzt muss ich natürlich dafür sorgen, dass jedesmal wenn der Okay-Button gedrückt wird, dass die Listbox auch erstmal geleert wird, das kann ich so machen: self.listbox und dann nennt sich die Methode delete, die wir da brauchten, und die soll von Null bis Ende alles löschen. So, das war's schon, das probiere ich jetzt mal aus - FILE SAVE Und dann schaun wir mal, ob das funktioniert - "Alex" "1.75" und ein Gewicht - und hier gibts noch ein Problem - name 'Benutzer' is not defined Ah ja, was hier noch fehlt ist der Teil - wir haben ja das Modul gar nicht eingelesen - das heißt, wir brauchen diese Zeile, So, das speichere ich ab, und dann versuch ichs nochmal - "Alex" 1.75 und dann ein Gewicht - So, und dann will ich noch ein anderes Gewicht - und dann sehen Sie, dass das untereinander hier reingeschrieben wird. Ja, das scheint also gut zu funktionieren, Sie haben also gesehen, wie man eine - ja, wie der GUI-Teil als wie der [?]-Teil sozusagen losgelöst von dem BMI-Programm verwendet werden kann, Alles, was wir machen mußten, ist hier in der action-Methode sozusagen dafür sorgen, dass die Anbindung zu unserem BMI-Modul funktioniert.

Python 3 Grundkurs

Lernen Sie die Entwicklungsumgebung sowie die grundlegenden Konzepte von Python kennen und schreiben Sie schon bald eigene Anwendungen.

4 Std. 33 min (49 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:26.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!