tkinter Error

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "/usr/lib/python3.5/tkinter/__init__.py", line 1562, in __call__
        return self.func(*args)
      File "/home/pi/Schreibtisch/GPIO Programm.py", line 20, in LedEin
        t = 1.0/g.get
    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

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!