Outils pour utilisateurs

Outils du site


smartcitizen

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
smartcitizen [2020/11/12 19:52]
serge [Thread in Kivy]
smartcitizen [2020/11/13 10:21] (Version actuelle)
serge [Les difficultés rencontrées]
Ligne 57: Ligne 57:
 Une solution plus élégante est utilisée dans **[[https://github.com/sergeLabo/accelerometer/blob/main/main.py|accelerometer: main.py]]** avec Une solution plus élégante est utilisée dans **[[https://github.com/sergeLabo/accelerometer/blob/main/main.py|accelerometer: main.py]]** avec
 <code python> <code python>
 +class AccelerometerApp(App):
 +    def build(self):
 +        return Accelerometer(self)
 +        
 +class Accelerometer(BoxLayout):
 +    def __init__(self, app, **kwargs):
 +        super().__init__(**kwargs)
 +        self.app = app
 +        self.app.osc = OSC()
 +        
 +class OSC:
 +    def __init__(self):
 +        self.histo = []
 +        self.server = OSCThreadServer()
 +        self.server.bind(b'/histo', self.on_histo)
 +        
 +    def on_histo(self, *args):
 +        self.histo = ....
 +        
 class Screen2: class Screen2:
-  self.app = App.get_running_app() # dans __init__() +    def __init__(self): 
-  # et appel de l'attribut histo de OSC avec +        self.app = App.get_running_app() # dans __init__() 
-  self.app.osc.histo +        # et appel de l'attribut histo de OSC avec 
 +        self.app.osc.histo 
 +        Clock.schedule_once(self._once, 1) 
 + 
 +    def _once(self, dt): 
 +        Clock.schedule_interval(self.update, 0.1) 
 +         
 +    def update(self, dt):  
 +        blabla = self.app.osc.histo  
 +        # blabla retrouve la valeur de histo de OSC !!!!
 </code> </code>
  
smartcitizen.txt · Dernière modification: 2020/11/13 10:21 de serge