Ich habe das Problem, dass wenn mehrmals den text vom "label1" geändert wird das GUI (Label) quasi einfriert. Als Error bekomme ich dann:
Warning: Source ID ** was not found when attempting to remove it.
Ich vermute mal das sich der Gtk.Mainloop und self.mopidy.bind_event sich irgend wie in die quere kommen. Hättet ihr ein Tipp für mich wie ich das ganze stabil zum laufen bekomme?
Code: Alles auswählen
class mopidy_player:
def __init__(self, gui):
self.gui = gui
self.mopidy = MopidyClient()
self.bind_events()
self.mopidy.connect()
def bind_events(self):
self.mopidy.bind_event('playback_state_changed', self.gui.playback_state_changed)
class gui(object):
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file("ui2.glade")
def playback_state_changed(self, old_state, new_state):
self.builder.get_object("label1").set_text(new_state)
def main(self):
try:
Gtk.main()
except KeyboardInterrupt:
pass
if __name__ == '__main__':
gui = gui()
mopidy_player(gui)
gui.main()