Infostandsystem - Auslesen von NFC-Tags (PN532)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ja - weil du sensor nicht als Instanzattribut (self.pn532 = sensor, Zugriff in einer anderen Methode dann mit self.pn532.foo()) von der MainWindow-Instanz speicherst, sondern als lokale Variable im Konstruktor.

    Moin!

    Ich habe das jetzt genau so gemacht wie von dir beschrieben... dann lädt das Fenster "Hauptmenü" vom Init und danach geht gar nichts mehr... das Fenster kann. nicht geschlossen werden und der Sensor liest nichts...

    Was kann da denn noch das Problem sein? Langsam verzweifle ich echt.

    Mit freundlichen Grüßen

  • Ich habe das jetzt genau so gemacht wie von dir beschrieben... dann lädt das Fenster "Hauptmenü" vom Init und danach geht gar nichts mehr... das Fenster kann. nicht geschlossen werden und der Sensor liest nichts...

    Code zeigen. Ich kann nicht hellsehen, das dürfte auch auf alle anderen hier zutreffen.

    Was kann da denn noch das Problem sein? Langsam verzweifle ich echt.

    Dann solltest du vielleicht nochmal einen Schritt zurück gehen und nicht gleich ein GUI mit OOP schreiben, sondern kleine, "sinnlose" Programme, an denen du verschiedene Konzepte üben kannst und die du zu 100% verstehst und erklären kannst. Programmieren ist nämlich weder raten noch copy & paste.

  • Code zeigen. Ich kann nicht hellsehen, das dürfte auch auf alle anderen hier zutreffen.

    Dann solltest du vielleicht nochmal einen Schritt zurück gehen und nicht gleich ein GUI mit OOP schreiben, sondern kleine, "sinnlose" Programme, an denen du verschiedene Konzepte üben kannst und die du zu 100% verstehst und erklären kannst. Programmieren ist nämlich weder raten noch copy & paste.

    Entschuldigung... das war natürlich blöd von mir gedacht. Ich erstelle nun beim "Init" ein Instanzattribut:

    Python
    def __init__(self, sensor):
            global letzter_tag
            self.pn532 = sensor
            letzter_tag = "hauptmenue"
            self.changewindow(part="hauptmenue")

    Und greife dann Inn der Sensorabfrage mit self. darauf zu:

    LG

  • Hallo,

    wenn du `global` in einer Klasse benutzt, hast du zu 99,999% einen Fehler im Programmentwurf. Warum ist "letzter_tag" kein Attribut der Klasse?

    BTW: ich finde den Variablennamen verwirrend, weil man das eher wie "letzter Tag" (im Sinne von Wochentag) und nicht wie "letzter tag" (gesprochen: täck) liest.

    Gruß, noisefloor

    Das mit dem "global" habe ich jetzt mal umgecodet... aber daran lag das Problem nicht.

Jetzt mitmachen!

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