【发布时间】:2020-04-04 22:20:59
【问题描述】:
我有一个 python 代码和 kv 文件。我想在 kv 文件中使用由 python 生成的值(数组)。我更详细,我有两个屏幕。在主屏幕中, 是一个按钮。按下此按钮后,“值”将填写在 python 代码中。然后“值”的结果应显示在第二个屏幕中。 我的python代码是:
class MainWindow(Screen):
def btn(self):
value=k #here we define the value. it is an array
class ResultWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("my.kv")
class MyMainApp(App):
def build(self):
return kv
if __name__ == "__main__":
MyMainApp().run()
然后我想在 ResultWindow 中使用这个“值”。所以,这是我的 kv 文件:
WindowManager:
MainWindow:
ResultWindow:
<MainWindow>
name: "main"
GridLayout:
cols:1
Button:
on_press: root.btn() #so here we make and access to the value
on_release:
app.root.current= "resultwindow"
root.manager.transition.direction = "right"
<ResultWindow>:
name:"resultwindow"
GridLayout:
rows: 1
Label:
text: str(root.value(0))
所以,错误是:
AttributeError: 'ResultWindow' object has no attribute 'value'
【问题讨论】: