0
main.py
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.gridlayout import GridLayout
from kivy.uix.relativelayout import RelativeLayout
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen
class Manager(ScreenManager):
currency = '$'
class SpendApp(App):
def build(self):
control = Manager()
return control
class First(Screen):
pass
if __name__ == '__main__':
SpendApp().run()
spend.kvを次のように私は私のmain.pyとspend.kvに次のコードを持っている
<Manager>:
First
<First>:
GridLayout:
cols: 1
Label:
text: 'Total spending'
height: '48dp'
size_hint_y: None
Amount:
height: '38dp'
size_hint_y: None
font_color: 1,0,0,1
<[email protected]>:
text: app.root.currency + '0.0'
これを実行すると、次のエラーでプログラムがクラッシュします。
AttributeError: 'NoneType' object has no attribute 'currency'
私はこれが私のspend.kv ファイルにapp.root.currencyするために私のreferanceである知っている:
<[email protected]>:
text: app.root.currency + '0.0'
ので、正しくこのリファレンスを作るための方法は、このエラーを受信せず、あるのでしょうか?
をあなたはcurrency'が変更されたときに 'ラベルのテキストが自動的に更新されるように、' 'StringProperty'をcurrency'したいことがあります。 – zeeMonkeez