【发布时间】:2020-11-25 14:08:46
【问题描述】:
我做了一个代码,其中有一个根类“Screen”,在.kv文件的一侧,有一个“ScrollView”,带有一个“List”。 在 .py 文件中,我创建了一个循环,在 self.ids.scroll 列表中创建了几个按钮,使用 add_widget 和 Builder 来构建小部件:
Class Main(Screen):
def test(self):
print("Ok")
def updatelist(self):
for i in range(10):
self.ids.scroll.add_widget(Builder.load_string(
f"""Button:
text: str({i})
"""
)
)
问题是当我尝试在按钮内创建一个 on_release 时:
on_release: root.test()
它返回一个错误,说“Button”没有“test”函数,也就是没有找到根,函数所在的“Main”类,只限于自身。 我尝试在不使用“Builder”的情况下创建按钮,只使用:
for i in range(10):
self.ids.scroll.add_widget(Button())
但是我遇到了问题,比如捕捉他的self.text,因为只能用Kv语言来捕捉。
任何帮助,谢谢!
【问题讨论】:
标签: python-3.x kivy