我一直在尝试做一个程序,不断更新和显示从传感器获得的读数。但是,更新传感器值后,标签仍在背景中显示旧值。如何在显示新值之前清除屏幕?你知道吗
我试过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'
ScreenThermo-标签被覆盖
ScreenThermo
正在显示两个标签,但它们被覆盖或超级施加,即一个在后台,另一个在前台。你知道吗溶液
添加一个
BoxLayout
来分隔这两个Labels
。你知道吗片段-kv
根本原因标签仍然显示旧值
显示旧值是因为下面的命令创建了一个标签,该标签可以垂直增长,但以一定的宽度包装文本。你知道吗
解决方案
text_size: root.width, None
和size: self.texture_size
。你知道吗text_size: self.size
。你知道吗示例
下面的代码将此大小绑定到标签的大小,因此文本将在小部件边界内对齐。这也将自动包装标签的文本以保持在此区域内。你知道吗
相关问题 更多 >
编程相关推荐