Я пытаюсь показать окно под кнопкой после того, как щелкнул по нему. но это не показ. Я немного запутался, потому что это мой первый раз. я могу показать это, только если поместить boxlayout только внутри класса MyApp, но когда я попытался присоединиться к нему, он ничего не показывает. Кто-нибудь знает, как это сделать? пожалуйста помогите
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
from pandas import read_excel
import matplotlib.pyplot as plt
plt.plot([1, 23, 2, 4])
plt.ylabel('some numbers')
class MyGrid(BoxLayout):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.cols = 1
self.inside = GridLayout()
self.inside.cols = 2
self.inside.add_widget(Label(text="Radius: "))
self.name = TextInput(multiline=False)
self.inside.add_widget(self.name)
self.inside.add_widget(Label(text="Radius: "))
self.name2 = TextInput(multiline=False)
self.inside.add_widget(self.name2)
self.inside.add_widget(Label(text="Radius: "))
self.name3 = TextInput(multiline=False)
self.inside.add_widget(self.name3)
self.add_widget(self.inside)
self.submit = Button(text="submit", font_size=20)
self.submit.bind(on_press=self.pressed)
self.add_widget(self.submit)
def pressed(self, instance):
name = self.name.text
print("name: "+name)
box = BoxLayout()
box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
return box
class MyApp(App):
def build(self):
return MyGrid()
if __name__=="__main__":
MyApp().run()