【发布时间】:2020-08-14 15:26:35
【问题描述】:
单击第一个屏幕中的按钮后,我尝试在第二个屏幕中显示绘图。 这是我尝试过的代码。 进口猕猴桃 从 kivy.app 导入应用程序 从 kivy.uix.label 导入标签 从 kivy.uix.gridlayout 导入 GridLayout 从 kivy.uix.textinput 导入 TextInput 从 kivy.uix.button 导入按钮 从 kivy.uix.boxlayout 导入 BoxLayout 从 kivy.properties 导入 ObjectProperty 从 kivy.lang 导入生成器 从 kivy.uix.screenmanager 导入 ScreenManager,Screen 从 kivy.garden.matplotlib.backend_kivyagg 导入 FigureCanvasKivyAgg 从 kivy.uix.widget 导入小部件 从熊猫导入 read_excel 将 matplotlib.pyplot 导入为 plt
plt.plot([1, 23, 2, 4])
plt.ylabel('some numbers')
class MainWindow(Screen):
def btn(self):
print("name: ",self.name2.text)
self.ids.destination.add_widget(FigureCanvasKivyAgg(plt.gcf()))
class SecondWindow(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()
#:kivy 1.9.1
WindowManager:
MainWindow:
SecondWindow:
<MainWindow>:
name: "main"
name2: name2
GridLayout:
cols:1
size: root.width, root.height
GridLayout:
cols:2
Label:
text:"name: "
TextInput:
id: name
multinline:False
Label:
text:"name2: "
TextInput:
id: name2
multinline:False
Button:
text:"Submit"
on_release:
root.btn()
app.root.current = "second"
root.manager.transition.direction = "left"
<SecondWindow>:
name: "second"
GridLayout:
cols:1
BoxLayout:
id: destination
Button:
text: "Go Back"
on_release:
app.root.current = "main"
root.manager.transition.direction = "right"
但我收到错误消息说'super' object has no attribute '__getattr__',我不知道这是什么意思。请帮帮我。
【问题讨论】:
标签: python kivy kivy-language