如何解决Python Kivy 无法从另一个类访问 id
我无法通过 id 从另一个类获取小部件。我试过 app.root.ids.first_lbl.text
,但没有用。有没有办法做到这一点?
这是我的代码:
main.py:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.Boxlayout import BoxLayout
class MainWidget(Widget):
pass
class SecondWidget(BoxLayout):
pass
class MyApp(App):
def build(self):
return MainWidget()
if __name__ == "__main__":
MyApp().run()
my.kv:
<MainWidget>
BoxLayout:
size: root.width,root.height
BoxLayout:
Label:
id: first_lbl
text: "TEXT123"
SecondWidget:
<SecondWidget>:
Label:
text: app.root.ids.first_lbl.text
解决方法
这是一个可行的黑客:
<MainWidget>
BoxLayout:
size: root.width,root.height
BoxLayout:
Label:
id: first_lbl
text: "TEXT123"
SecondWidget:
t1: first_lbl.text # set the t1 property of SecondWidget to the text of first_lbl
<SecondWidget>:
t1: ''
Label:
text: root.t1 # use the t1 property of SecondWidget
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。