2017-05-05 78 views
0

我正在製作一個顯示器項目,每個顯示器都有兩個屏幕,我無法使用kivy花園計量器代碼與屏幕管理器一起工作。 它作爲一個獨立的應用程序正常工作,但我找不到任何說明來幫助我將它合併到屏幕中。 kivy計算器的例子在屏幕管理器屏幕中工作正常,但這只是.kv代碼,當放置在屏幕管理器屏幕中時,我的GaugeApp類不會以任何方式運行。在屏幕管理器中使用kivy.garden.gauge

這裏的工作獨立代碼:

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() 

任何幫助將其納入一個屏幕布局,這將不勝感激。

回答