2017-05-05 1 views
0

Je travaille sur un projet d'affichage qui aura deux écrans montrant chacun des jauges et je ne peux pas obtenir le code de jauge de jardin Kivy de travailler avec un ScreenManager. Cela fonctionne très bien en tant qu'application autonome, mais je ne trouve aucune instruction pour m'aider à l'intégrer dans un écran. L'exemple de la calculatrice de Kivy fonctionne très bien à l'intérieur d'un écran de ScreenManager, mais c'est seulement .kv code, ma classe GaugeApp ne lancera aucune façon que je l'ai essayé quand il est placé dans un écran de ScreenManager.En utilisant kivy.garden.gauge dans ScreenManager

est ici le code autonome de travail:

from kivy.garden.gauge import Gauge 
from kivy.app import App 

dirflag = 1 

value = 50 

from kivy.uix.slider import Slider 
from kivy.properties import NumericProperty 
from kivy.uix.floatlayout import FloatLayout 
from kivy.clock import Clock 

class GaugeApp(App): 
increasing = NumericProperty(1) 
begin = NumericProperty(50) 
begin2 = NumericProperty(25) 
begin3 = NumericProperty(75) 
step = NumericProperty(1) 

def build(self): 
    box = FloatLayout(orientation='horizontal', padding=5) 
    self.gauge = Gauge(value=50, size_gauge=156, size_text=25, pos_hint={'x': .5, 'y': .2}) 
    self.gauge2 = Gauge(value=10, size_gauge=226, size_text=25, pos_hint={'x': .22, 'y': .3}) 
    self.gauge3 = Gauge(value=10, size_gauge=156, size_text=25, pos_hint={'x': .02, 'y': .2}) 
    box.add_widget(self.gauge) 
    box.add_widget(self.gauge2) 
    box.add_widget(self.gauge3) 

    Clock.schedule_interval(lambda *t: self.gauge_increment(), 0.1) 
    return box 

def gauge_increment(self): 



    begin = self.begin 
    begin += self.step * self.increasing 
    if begin > 0 and begin < 100: 
     self.gauge.value = begin 
    else: 
     self.increasing *= -1 
    self.begin = begin 

    begin2 = self.begin2 
    begin2 += self.step * self.increasing 
    if begin2 > 0 and begin2 < 100: 
     self.gauge2.value = begin2 
    else: 
     self.increasing *= -1 
    self.begin2 = begin2 
# Main program 

GaugeApp().run() 

Toute aide à intégrer dans une mise en page de l'écran sera grandement appréciée.

Répondre