在Screenmanager中使用Kivy.Garden.Gauge



我正在研究一个显示项目,该项目将有两个屏幕显示仪表,我无法让Kivy Garden Gauge代码与ScreenManager一起使用。它可以作为独立应用程序正常工作,但是我找不到任何指示可以帮助我将其纳入屏幕。Kivy计算器示例在ScreenManager屏幕中正常工作,但这只是.KV代码,我的GaugeApp类在放置在ScreenManager屏幕中时不会运行任何方法。

这是工作独立代码:

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

将其整合到屏幕布局中的任何帮助将不胜感激。

很久以前,但是如果您仍然有问题:https://groups.google.com/d/msg/kivy-users/i0_xbf3dlam/9m2ppswnngqj

我复制了C:。Kivy Garden 给它的" Garden.gauge"文件夹。然后,如链接中所述,将更改为 init .py。现在起作用。