2 回答

TA贡献1835条经验 获得超7个赞
我发现您的代码有两个问题。首先,在您的kv文件中,Button操作不正确:
Button:
text: "Sensor 01"
on_release:
root.Grafico()
如果Button打算切换到另一个屏幕,则应该是:
Button:
text: "Sensor 01"
on_release:
root.manager.current='grafico'
其次,在您的Grafico班级中,您有一个build()从未被调用过的方法。如果您将其更改为:
class Grafico(Screen):
def build(self):
box = BoxLayout()
box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
return box
到:
class Grafico(Screen):
def on_enter(self, *args):
box = BoxLayout()
box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
self.add_widget(box)
我想你会得到想要的结果。关键是on_enter()在Grafico Screen显示时调用该方法。该方法是您的代码,但self.add_widget(box)添加了一个以将box加到屏幕上。有关更多信息,请参阅屏幕文档。
添加回答
举报