【发布时间】:2019-04-22 22:09:19
【问题描述】:
我一直在尝试制作一个程序来不断更新和显示从传感器获得的读数。但是,传感器值更新后,标签仍会在后台显示旧值。如何在显示新值之前清除屏幕?
我试过self.clear_screen,但没有帮助。我错过了什么?
.py 文件:
class MainScreen(Screen):
pass
class ScreenThermo(Screen):
def __init__(self,**kwargs):
super(ScreenThermo, self).__init__(**kwargs)
Clock.schedule_interval(self.getTemp, 2)
def getTemp(self,dt):
temperature = sensor.get_temperature()
thetemp = temperature
self.manager.screen_thermo.ids.TempLabel.text = str(thetemp)
def on_enter(self, *args):
self.__init__()
pass
class ScreenManagement(ScreenManager):
pass
.kv 文件
ScreenManagement:
id: screen_manager
screen_thermo: screen_thermo
MainScreen:
ScreenThermo:
id: screen_thermo
name: 'thermo'
manager: screen_manager
<MainScreen>:
name: "main"
Label:
text: "Welcome to \n Interactive HealthCare \n System"
font_size: 60
halign: 'center'
valign: 'middle'
pos_hint: {'x': .01, 'y': .05}
on_touch_down: app.root.current = "thermo"
<ScreenThermo>:
Label:
text: "temperature"
font_size: 60
text_size: root.width, None
size: self.texture_size
halign: 'left'
valign: 'middle'
Label:
id: TempLabel
text: "temperature updated"
font_size: 60
text_size: root.width, None
size: self.texture_size
halign: 'center'
valign: 'middle'
【问题讨论】:
标签: python kivy kivy-language