ich versuche im folgenden Script in der methode check_filter() die Variable labelfilter und image6 aus der methode __init__() zu benutzen.
Leider bin ich nur erfolgreich mit dem deklarieren einer Globalen variable in der __init__ methode. Das möchte ich natürlich nicht!
Wie gebe ich so eine Variable weiter?
Bin schon seit Tagen am googeln aber leider ohne Erfolg! :K Steige auch ehrlich gesagt nicht so ganz durch OOP durch.
Über Hilfe wäre ich wirklich sehr dankbar!!!
Gruß Natz
Code: Alles auswählen
class Class():
def __init__(self):
builder = Gtk.Builder()
builder.add_from_file("GUI.glade")
builder.connect_signals(self)
labelfilter = builder.get_object("labelfilter")
image6 = builder.get_object("image6")
def obj(self, name):
##Gibt Glade-Object 'name' zurück
return self.builder.get_object(name)
def run(self):
##Startet die zentrale Warteschleife von Gtk
try:
Gtk.main()
except KeyboardInterrupt:
pass
def quit(self):
## Verlässt die zentrale Warteschleife von Gtk
Gtk.main_quit()
def on_window1_delete_event(self, *args):
self.quit()
def check_filter():
input_value1 = GPIO.input(13)
if input_value1 == 1:
labelfilter.set_markup("<span foreground='green'>OK</span>") #funktioniert nur mit Globale Variable
image6.hide()
else:
labelfilter.set_markup("<span foreground='#ff0000'>Nachfüllen !!</span>")
image6.show()
sleep (0.2)
return True
GLib.timeout_add_seconds(13, check_filter)
if __name__ == '__main__':
app = Class()
app.run()
exit()