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()
任何帮助将其纳入一个屏幕布局,这将不胜感激。