kivyウィジェット内のラベルのテキストを変更する方法がわかりません。簡単にするために、ラベルを0に設定しています。この例では、テキストを30に変更したいと考えています。しかし、私は次のエラーが発生します。クラス内のkivyウィジェットのプロパティを変更する
はAttributeError:「スーパー」オブジェクトが属性「GETATTR」
を持っていない私は、私はおそらく適切にそのウィジェットをターゲットにないことだし、私は誰かが特にこのテキストを参照する方法を説明してくださいすることができます期待していますということを理解しますラベル(self.ids.mainel1temp.stuff_r.text =「30」)(コードを固定よりも詳細で)更新する
#!/usr/bin/kivy
import kivy
from random import random
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.switch import Switch
from kivy.uix.label import Label
from kivy.config import Config
Config.set('graphics', 'width', '800')
Config.set('graphics', 'height', '480')
Builder.load_string("""
<Menuscreen>:
#Handling the gesture event.
ScreenManager:
id: manager
Screen:
id: main_screen
name:'main_screen'
stuff_r: mainel1temp
FloatLayout:
Label:
id: mainel1temp
size: self.texture_size
text:'0'
size_hint: None, None
text_size: 75,75
pos: 295,308
font_size:'20sp'
halign: 'center'
""")
class Thermostuff(Screen):
stuff_r = ObjectProperty(None)
def starttherm(self):
Clock.schedule_interval((self.read_temp), 1)
def read_temp(self, dt):
self.ids.mainel1temp.stuff_r.text = '30'
Thermrun = Thermostuff()
Thermrun.starttherm()
class MenuScreen(Screen):
pass
sm = ScreenManager()
menu_screen = MenuScreen(name='menu')
sm.add_widget(menu_screen)
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()