【发布时间】:2020-06-05 13:18:08
【问题描述】:
我有一个我想要制作的应用程序的骨架。我试图了解“值屏幕”中的按钮如何干扰“方向屏幕”中的绘图。
这甚至可能吗?我不知道这样一个“更新”函数的语法,也不知道该放在哪里(尽管我认为它必须在 MyFigure 类下)。
main.py 是
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
import matplotlib.pyplot as plt
class AppScreen(BoxLayout):
pass
class MagneticFieldApp(App):
def build(self):
return AppScreen()
class MyFigure(FigureCanvasKivyAgg):
def __init__(self, **kwargs):
plt.plot([1, 23, 2, 25])
plt.ylabel('some numbers')
super().__init__(plt.gcf(), **kwargs)
#def plotx2(self):
#def plotx3(self):
if __name__ == "__main__":
MagneticFieldApp().run()
磁场.kv 是
<ValuesScreen@Screen>:
<DirectionScreen@Screen>:
<IntensityScreen@Screen>:
Label:
text: 'intensity'
font_size:50
<AppScreen>:
spacing: 5
orientation: 'vertical'
manager: manager
ScreenManager:
size_hint: 1 , .9
pos_hint: {'top': 1}
id: manager
ValuesScreen:
name: 'valuesscreen'
GridLayout:
cols: 1
Button:
text: 'x**2'
#on_press:
Button:
text: 'x**3'
#on_press:
DirectionScreen:
name: 'directionscreen'
MyFigure:
IntensityScreen:
name: 'intensityscreen'
GridLayout:
size_hint: 1 , .1
pos_hint: {'y': 0}
rows:1
Button:
text: 'values'
on_press:
root.manager.current = 'valuesscreen'
Button:
text: 'direction'
on_press:
root.manager.current = 'directionscreen'
Button:
text: 'intensity'
on_press:
root.manager.current = 'intensityscreen'
【问题讨论】:
标签: python-3.x matplotlib kivy kivy-language matplotlib-widget