tkinter Error

  • Ja ich weiss ich bin doch noch mal da^^,

    Ich habe jetzt den ProgrammCode erfolgreich repariert nur wenn ich jetzt meine Befehle im Programm starten will kommt dieser Fehler:


    Code
    1. Exception in Tkinter callback
    2. Traceback (most recent call last):
    3. File "/usr/lib/python3.5/tkinter/__init__.py", line 1562, in __call__
    4. return self.func(*args)
    5. File "/home/pi/Schreibtisch/GPIO Programm.py", line 20, in LedEin
    6. t = 1.0/g.get
    7. TypeError: unsupported operand type(s) for /: 'float' and 'method'



    Hier nochmal mein Code damit ich auch wirklich sicherstellen kann dass er richtig ist:



    Und ja ich weiss jetzt wie man einen Code einfügt^^


    Mit vielen Grüßen Florian aka. AroPix:):danke_ATDE:

  • Hallo,


    erst mal zu Code:


    • Woher hast du denn die dolle Idee, Befehle durch Semikolons zu trennen? Syntaktisch versteht Python das zwar, aber das macht man nie. Nie. Nie. Ein Befehl -> eine Zeile.
    • Du solltest deine Code besser strukturieren. Z.B. alle Funktionen für die LEDs hintereinander, dann die GUI Sachen. Es funktioniert zwar auch so, ist aber extrem schwer für Aussenstehende zu lesen und nachzuvollziehen.
    • Konstanten / konstante Werte schreibt man per Konvention groß (bei dir: W und MUSTER). Funktionsnamen schreibt man klein_mit_unterstrich (also led_ein, nicht LedEin)
    • Sternchenimporte möchte man vermeiden, weil man dann nicht weiß, a) welche Konstanten, Funktionen und Klassen im Namensraum landen und b) man im Quellcode auch nicht wirklich nachvollziehen kann, wo was her kommt.
    • Konzeptionelles Problem: deine GUI blockiert (= ist eingefroren), solange die Funktion LedEin läuft.

    Zur Frage:

    Du musst die Funktion auch _aufrufen - tust du aber nicht, du referenzierst die Funktion nur. Tipp: schau' mal nach fehlenden Klammern.


    Gruß, noisefloor

  • ...also wenn ich mir den Code so anschaue, dann fällt mir unser Stammtisch vorgestern abend beim Wirt wieder ein, umgemünzt auf Murphy's Law:


    AroPix : Sorry, absolut nichts gegen Dich, das fiel mir gerade so ein und ist nicht persönlich gemeint. Ich konnte es mir einfach nicht verkneifen! Dummerweise hat's zufällig Dich derbröselt, Du schriebst einfach den letzten Beitrag über einen fehlerbehafteten Code.


    Nix für ungut,

    schlizbäda