Temperaturwerte auf Fenster anzeigen

  • Hallo zusammen,

    ich versuche in Python3 die Messwerte meiner beiden Temperatursensoren darzustellen und automatisch zu aktualisieren.



    StandAlone funktionen die beiden Codes, jedoch nicht zusammen.

    In diesen Beispiel wird nicht mal das Fenster/Formular/UserInterface angezeigt.


    Habt Ihr mir ein paar Tipps


    Gruesse

    Stefan

  • stefanbla80 Natürlich wird die GUI nicht angezeigt. Bevor der Code kommt steht dort eine Endlosschleife, so das der Code der die GUI erstellt niemals erreicht werden kann. Wenn Dir das nicht klar ist, müsstest Du als erstes mal die Grundlagen vom Programmieren in imperativen Programmiersprachen allgemein und Python im besonderen lernen. In der Python-Dokumentation gibt es beispielsweise ein Tutorial.


    Und bei GUI-Programmierung kommt dann noch dazu, das dort die GUI-Hauptschleife die Kontrolle haben muss, Du also nicht ohne weiteres eine Endlosschleife schreiben darfst. GUI-Programmierung ist ereignisbasiert. Man setzt die GUI auf und sagt dabei was bei welchem Ereignis aufgerufen werden soll. Das darf dann *kurz* etwas machen, und gibt dann die Kontrolle wieder an die GUI-Hauptschleife zurück. Ereignisse können dabei sein, dass der Benutzer eine Schaltfläche anklickt, aber auch das eine angegebene Zeit verstrichen ist. So kann man dann jede Sekunde von der GUI-Hauptschleife eine Funktion oder Methode aufrufen lassen. Dafür ist die `after()`-Methode in Tk da.


    Sternchen-Importe sind Böse™. Da holt man sich gerade bei `tkinter` fast 200 Namen ins Modul von denen nur ein kleiner Bruchteil verwendet wird. Auch Namen die gar nicht in `tkinter` definiert werden, sondern ihrerseits von woanders importiert werden. Das macht Programme unnötig unübersichtlicher und fehleranfälliger und es besteht die Gefahr von Namenskollisionen.

    “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” — Edsger Dijkstra

  • Hallo zusammen,


    das ist mein neuester Stand.


    Den Code habe ich aus einem früheren Projekt mit einem Webserver.

    Aber: Ist etwas träge ...


    Wie geht das besser?


    Grüsse

    Stefan

  • Hallo,


    ich finde es sehr schade, dass __blackjack__ einen ausführlichen Beitrag zum Thema Programmieren mit Python geschrieben hat und abgesehen davon, das kein "Danke" kommt, ist dein neuer Code so, als würde __blackjack__'s Beitrag gar nicht existieren.


    Wie geht das besser?

    Als erstes, nehme die Hilfestellung an, die dir schon gegeben wurde.

    Benutze kein 'global'. Importiere nur was du auch verwendest. Variablen und Konstanten sollten aussagekräftige Namen bekommen, keine Abkürzungen und keine Nummerierung. KONSTANTEN werden groß geschrieben, Variablen klein_eventuell_mit_Unterstrich. Klassen benutzt du nicht, aber diese würde man in CapWords-Schreibweise. Siehe dazu hier


    Ich würde mir mal über eine 'main'-Funktion Gedanken machen.


    Grüße

    Dennis

    🎵🎸Die Nordsee schlägt dir ins Gesicht, trotzdem hast du verloren, du bist nicht weit gekommen, du läufst weiter nach vorn 🎵🎸