为什么 kv 文件变量不接受 self?
Why don't the kv file variables accept self?
文件的kv变量如何使用self引用文件的py变量?
事实是,App仅在类中是固有的,在函数中是自有的。
kv 文件变量只接受 app:
'''
MDFlatButton:
id: flat
text: app.gg
'''
但我需要它像这样工作:
class Test(MDApp):
gg = '123'
MDFlatButton:
id: flat
text: self.gg
class Test(MDApp):
def build(self):
gg = '123'
要在函数内部引用一个变量,你需要self,它不接受kv。问题:如何让它工作而不报错?
MDFlatButton:
id: flat
text: self.gg
或者其他东西,但是 MDFlatButton 按钮从函数中获取文本参数。
求助(
你可以使用 root
MDFlatButton:
id: flat
text: root.gg
第二个错误是你没有把它设置为自己。
class Test(MDApp):
def build(self):
self.gg = '123' # <---- was gg = '123'
转出!这对我有用:
from kivymd.app import MDApp
from kivy.lang import Builder
KV = '''
Screen:
MDFlatButton:
id: flat
text: app.gg
'''
class Test(MDApp):
def build(self):
self.gg = '555'
return Builder.load_string(KV)
Test().run()
不知道我做了什么,但这个工作
文件的kv变量如何使用self引用文件的py变量?
事实是,App仅在类中是固有的,在函数中是自有的。
kv 文件变量只接受 app:
'''
MDFlatButton:
id: flat
text: app.gg
'''
但我需要它像这样工作:
class Test(MDApp):
gg = '123'
MDFlatButton:
id: flat
text: self.gg
class Test(MDApp):
def build(self):
gg = '123'
要在函数内部引用一个变量,你需要self,它不接受kv。问题:如何让它工作而不报错?
MDFlatButton:
id: flat
text: self.gg
或者其他东西,但是 MDFlatButton 按钮从函数中获取文本参数。
求助(
你可以使用 root
MDFlatButton:
id: flat
text: root.gg
第二个错误是你没有把它设置为自己。
class Test(MDApp):
def build(self):
self.gg = '123' # <---- was gg = '123'
转出!这对我有用:
from kivymd.app import MDApp
from kivy.lang import Builder
KV = '''
Screen:
MDFlatButton:
id: flat
text: app.gg
'''
class Test(MDApp):
def build(self):
self.gg = '555'
return Builder.load_string(KV)
Test().run()
不知道我做了什么,但这个工作